1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
Commit Graph

1389 Commits

Author SHA1 Message Date
Subhomoy Haldar
aae63f5eb5
tools: gitignore the bin/ folder in new V projects (created by v init) (#16493) 2022-11-20 14:43:33 +02:00
shove
37700502f5
all: implement struct field optional and disallow storing result (#16392) 2022-11-17 07:51:50 +02:00
yuyi
017ace6ea7
vfmt: change all '$expr' to '${expr}' (#16428) 2022-11-15 16:53:13 +03:00
Delyan Angelov
eb11b0149d
tools: fix git_pre_commit_hook.vsh on windows 2022-11-13 21:57:10 +02:00
Delyan Angelov
1978176c22
tools: add an utility cmd/tools/git_pre_commit_hook.vsh script
That script can be used to ensure that all commited V files are vfmt-ed,
i.e. it will run `v fmt -w ` on them before commiting them.

To use the script in your V project, you need to be in the main folder
of your project, then do the equivalent of:
```sh
cp /PATH/TO_YOUR/V/cmd/tools/git_pre_commit_hook.vsh .git/hooks/pre-commit
chmod 755 .git/hooks/pre-commit
```

Note: you can use this command:
`git config --bool --add hooks.stopCommitOfNonVfmtedVFiles true`
... to make it just *prevent* the commiting of unformatted .v files,
i.e. stop the commiting, if they are not, but *without modifying them*
automatically (you will then need to run `v fmt -w` on them manually).

Note 2: Git supports the option `--no-verify`, to temporarily disable all hooks.
2022-11-13 21:22:46 +02:00
shove
26d643fc5d
all: rollback to old interpolation (step 3) (#16380) 2022-11-10 15:05:34 +03:00
Dominik Pytlewski
2634b99769
sqlite: expose SQLite's VFS layer (#16359) 2022-11-09 19:57:06 +02:00
Delyan Angelov
5f33585edf
tools: add support for VSELF_SHOULD_FAIL to v self, in order to make testing all v up failure modes easier. 2022-11-07 12:36:30 +02:00
Alexander Medvednikov
e81e0ac708 fmt: replace go with spawn 2022-11-05 10:46:40 +03:00
Delyan Angelov
b52b8429d4
vfmt: implement support for // vfmt off and // vfmt on, with it, v fmt -w . now works. (#16335) 2022-11-05 09:08:01 +03:00
Delyan Angelov
4cabf709e1
tools: add support for a |``v shared| markdown code tag, for illustrating code examples starting with module not_main` 2022-11-04 15:35:25 +02:00
Delyan Angelov
2dffb04650
ci: fix formatting of cmd/tools/vtest-cleancode.v after resolving conflicts 2022-11-04 15:12:46 +02:00
Delyan Angelov
7f91db695c
examples, tests: small formatting cleanup in cube_glsl.v , remove already fixed skips in v test-cleancode, before // vfmt off and // vfmt on 2022-11-04 14:48:20 +02:00
Delyan Angelov
f427a5241a
os,tools: add os.vtmp_dir()
Use it to consistently place all temporary files created by tests in a overridable folder specific to the user, that is easy to cleanup later.

NOTE: os.temp_dir() on macos returns `/tmp`, and using `/tmp/v` is a problem when multiple unix users are trying to access/create/write to it.
2022-11-03 10:19:51 +02:00
JalonSolov
d11baa691c
v: update the .gitattributes/.gitignore files generated by v init (#16292) 2022-11-02 20:41:12 +02:00
Delyan Angelov
7bd00b7580
tools: make fast_job.v more verbose and robust to compilation failures in fast.v, and to what compiler exactly was used to compile fast_job.v itself. 2022-11-02 13:26:12 +02:00
Delyan Angelov
82dc9ca434
tools: make fast.v results more robust to AWS spikes (increase samples, discard the top few) 2022-11-02 13:03:30 +02:00
Delyan Angelov
bd7c86a9d4
tools: make fast_job.v more informative on updates 2022-11-01 16:12:36 +02:00
Delyan Angelov
1868b101a5
tools: fix commit message cell border in fast.vlang.io 2022-11-01 16:05:50 +02:00
Delyan Angelov
32ce3d9149
tools: make fast_job.v more robust 2022-11-01 15:49:23 +02:00
Delyan Angelov
edb3f1df32
tools: fix table wrapping in fast.vlang.io, use <th> cells for the heading 2022-11-01 15:13:09 +02:00
vlang-bot
9cdec87255 tools: add more logging for fast_job.v, to ease maintainance 2022-11-01 10:54:12 +00:00
shove
c3e209a634
scanner: prevent resolving to nested interpolation (fix #16240) (#16259) 2022-10-31 10:47:32 +02:00
yuyi
64cbadc6f1
scanner: fix new string interpolation println('{a}{b}{c}{d}') (#16258) 2022-10-30 20:18:31 +02:00
Alexander Medvednikov
cc58d6a919 all: string interpolation fixes 2022-10-27 17:52:30 +03:00
Alexander Medvednikov
18c7da9a5e all: new string interpolation "hello {name}!" 2022-10-27 11:01:01 +03:00
Delyan Angelov
41c85661ef
fix quadratic execution of VAUTOFIX=1 v check-md . when a long .md file has many examples, that have to be corrected. 2022-10-26 22:47:58 +03:00
Delyan Angelov
007430ef2b
tools: support VAUTOFIX=1 v check-md vlib/term/README.md for fixing unformatted examples without manual edits 2022-10-26 21:51:10 +03:00
Hitalo Souza
3d4ffe8f28
examples: unskip vweb_orm_jwt from building, since it is not working directly with mysql anymore (#15671) 2022-10-22 19:12:54 +03:00
yuyi
51f4d99399
all: change optional to result in most of the libraries (#16123) 2022-10-20 22:14:33 +03:00
Delyan Angelov
2083e6b04c
os: cleanup APIs returning !bool to either return ! or bool (#16111) 2022-10-20 13:56:06 +03:00
yuyi
612faac0f0
all: change index expr returning optional to result too (#16097) 2022-10-19 21:04:16 +03:00
Delyan Angelov
d7813965d5
tools: fix os.chmod call (use octal permissions) in v ls 2022-10-19 15:38:06 +03:00
yuyi
117c829a97
vtest-self: add skipping ssl tests on windows (#16107) 2022-10-19 11:03:29 +03:00
Delyan Angelov
29b1796791
ci: add more skips for different CI jobs 2022-10-17 10:24:01 +03:00
Delyan Angelov
7fb2718609
ci: only run openssl_compiles_test.v on !windows 2022-10-16 23:15:00 +03:00
Delyan Angelov
7ff7e540b9
ci: more ? -> ! fixes 2022-10-16 22:57:38 +03:00
Delyan Angelov
409a4f33a1
tools: add report_v_module_folders_without_tests.v . Use it to discover other modules without _test.v files. Add simple ones, to ensure CI can find more breakage on future wide changes to vlib/ 2022-10-16 22:40:17 +03:00
yuyi
f6844e9766
all: change optional to result of io (#16075) 2022-10-16 09:28:57 +03:00
Swastik Baranwal
f7f0e0b5dc
v doc: remove int_literal and float_literal from syntax highlighting, since they are internal types (#16066) 2022-10-13 20:49:34 +03:00
Wertzui123
5047058595
stbi: fix memory leak from stbi.load/1 with GC (#16028) 2022-10-11 15:19:36 +03:00
Delyan Angelov
14923123ad
ci: skip const_fixed_array_containing_references_to_itself_test.v on windows-msvc 2022-10-10 13:30:35 +03:00
yuyi
4eeb45b94e
vpm: stop and output an error message after parsing the v.mod file failed (#15994) 2022-10-08 11:33:49 +03:00
Swastik Baranwal
267cd5569a
vpm: replace println with eprintln, for printing error output (#15992) 2022-10-08 11:32:31 +03:00
Delyan Angelov
88d69d7d54
cgen,pref,preludes: implement v -assert continues file_test.v (#15976) 2022-10-06 17:20:32 +03:00
Nicolas VENTER
50820105a1
docs: call_v_from_c example (#15844) 2022-09-25 22:52:40 +03:00
Subhomoy Haldar
7f23abbf8c
docs: document the [noinit] attribute with an example (#15876) 2022-09-25 19:36:01 +03:00
Delyan Angelov
6637db2d6d
tools: fix sporadic CI failures on the doom-regressions job due to v gret 2022-09-25 11:27:13 +03:00
Alfie Ranstead
27305d1a5f
net.websocket: swap unsafe use of nil for a safe default value (#15836) 2022-09-22 08:00:03 +03:00
yuyi
41dbd12bc4
tests: make error handling the same as the main function (#15825) 2022-09-21 19:45:43 +03:00
Delyan Angelov
21c5cadc59
tools: fix v install https://some/url_with_underscores (make --git the default for URLs) 2022-09-21 15:44:49 +03:00
Annie
8f7958273b
compiler: add -raw-vsh-tmp-prefix tmp flag, to allow for executing scripts without .vsh extension (#15829) 2022-09-20 15:52:18 +03:00
Delyan Angelov
993802f6a6
markused: fix compilation of gg programs with -skip-unused, add test to prevent regressions (#15821) 2022-09-20 08:03:03 +03:00
yuyi
0ff74dae63
vrepl: simplify and cleanup vrepl (#15807) 2022-09-18 18:07:16 +03:00
yuyi
c78344ef04
vrepl: fix output errors (fix #15801) (#15804) 2022-09-18 14:09:31 +03:00
yuyi
085a09ebdb
vrepl: fix output error of print and fn call (#15796) 2022-09-17 15:58:53 +03:00
yuyi
26443cf9fa
vrepl: fix array method call errors (fix #15769) (#15786) 2022-09-17 10:12:01 +03:00
Delyan Angelov
f922ed0941
tests: unify all temporary files/folders under $VTMP/v, that can be cleaned by v wipe-cache (#15774) 2022-09-16 04:56:19 +03:00
shove
8b962f8446
checker: fix nested struct reference type field initialized check. (fix: #15741) (#15752) 2022-09-15 07:59:31 +03:00
Delyan Angelov
3e599a1436
ci: ignore vlib/v/tests/inout/vscript_using_generics_in_os.vsh in v test-cleancode on windows for now 2022-09-11 11:18:01 +03:00
flopetautschnig
1c63ce479c
vweb: adding a vweb.csrf protection module (#15586) 2022-09-06 13:18:39 +03:00
Larpon
0d0c2b278d
vgret: add region support (#15651) 2022-09-04 13:39:10 +03:00
Louis Schmieder
6110373519
orm: init or implementation (#14989) 2022-08-31 14:43:20 +03:00
wahur666
dbf28c5bfb
cmd/tools/where: check if parent already included vlib_dir (#15527) 2022-08-26 07:04:44 +03:00
yuyi
c662431cfd
checker: check unsafe array assign (fix #9651) (#15515) 2022-08-25 08:52:13 +03:00
Delyan Angelov
4718b8b45a
all: unify the displaying of compiler errors, using a common util.show_compiler_message/2 function. 2022-08-24 13:38:47 +03:00
Swastik Baranwal
d08edf8cba
vdoc: highlight generic struct everywhere (#15506) 2022-08-23 15:21:26 +03:00
irishgreencitrus
8db945ec52
vpm: force v install to clone git submodules too (#15487) 2022-08-22 11:23:32 +03:00
Delyan Angelov
3656d445ab
Revert "Revert "tools/fast: do not build V with -usecache""
This reverts commit ad322f4eb0.
2022-08-21 10:40:27 +03:00
Delyan Angelov
ad322f4eb0
Revert "tools/fast: do not build V with -usecache"
This reverts commit f97a4f1904.
2022-08-21 08:56:05 +03:00
Alexander Medvednikov
f97a4f1904 tools/fast: do not build V with -usecache 2022-08-21 04:40:32 +03:00
Swastik Baranwal
a1de8f5f98
vdoc: highlight variadic function parameters (#15474) 2022-08-20 12:02:50 +03:00
Swastik Baranwal
22a79cfa1e
v doc: add highlighting for new types and fix highlighting for edge cases (#15455) 2022-08-18 18:06:55 +03:00
l-m
8c33a40c5a
vrepl: implement the 'pin' command from crepl (#15371) 2022-08-07 14:06:50 +03:00
Delyan Angelov
77495c8d03
all: support assert condition, extra_message, evaluating and showing extra_message on assert failure (#15322) 2022-08-03 01:14:01 +03:00
Delyan Angelov
fa75713bc3
tools: create the vmodules folder, when it does not exist, on v translate hw.c 2022-07-31 15:43:04 +03:00
Hitalo de Jesus do Rosário Souza
2d7406a8cd
examples: v back-end example for vweb (#15141) 2022-07-24 13:02:57 +03:00
Delyan Angelov
6ebe668a74
tools: show the exact failing c2v command on v translate failure for easier diagnostic/debugging. 2022-07-21 21:04:06 +03:00
Alexander Medvednikov
caa0c2f153 vfmt: voidptr(0) => unsafe { nil } (p.1) 2022-07-21 20:46:01 +03:00
Ned
57a201f28c
tools: add helpful message, when the vls server executable is not found on v ls (#15129) 2022-07-20 14:26:49 +03:00
Ned
c7ec71cd06
tools/vls: skip 'ls' argument on v ls (#15126) 2022-07-19 10:52:39 +03:00
Zhomart Mukhamejanov
c1502b3c1f
examples: add macos_tray example app (#15101) 2022-07-18 09:42:45 +03:00
Sebastian Atlántico
4f997feee7
tools: add tests for v where; improve usability (#15059) 2022-07-15 07:59:11 +03:00
Sebastian Atlántico
47b5d206a6
cmd/tools: vwhere fixes (#15051) 2022-07-13 18:04:26 +03:00
Sebastian Atlántico
28fd17654e
tools: add a v where fn join_path command, for platform independent searching the location of a symbol in the local project, vlib, ~/.vmodules (#15014) 2022-07-13 07:40:54 +03:00
Delyan Angelov
5498a6c263 tests: add more -skip-unused cases to v test-all 2022-07-11 11:02:17 +03:00
Ned
a331cf577a
tools/vls: fix installing vls when config is not present (#15017) 2022-07-11 07:56:53 +03:00
Ned
235ef23588
tools: add v ls - a VLS launcher and updater utility (#15009) 2022-07-10 20:27:50 +03:00
Delyan Angelov
5d8d11c989
ci: fix v cmd/tools/vast after ast.StructInit field renaming 2022-07-10 18:28:24 +03:00
Larpon
e18c5c7908
tools: add generic_screenshot method to vget (#14943) 2022-07-05 06:40:38 +03:00
Markus F.X.J. Oberhumer
74bb5ae17a
os: add an optional "mode" parameter to os.mkdir and os.mkdir_all (#14887) 2022-06-30 13:49:47 +03:00
Joe Conigliaro
c3866bb7b1
gen.golang: skip tests only on ubuntu-docker-musl 2022-06-29 21:11:28 +10:00
Joe Conigliaro
86549feafa
gen.golang: globally skip go backend tests & run only on ubuntu-tcc 2022-06-29 20:55:43 +10:00
Alexander Medvednikov
a4eb5b6356 gen: basic initial work on the Go backend 2022-06-28 09:41:15 +03:00
Alexander Medvednikov
ca30397e7a cli: fix compilation 2022-06-26 07:08:05 +03:00
Delyan Angelov
2524207d1c
tools: support c2v.exe in v translate, use os.quoted_path, cleanup errors. 2022-06-23 03:31:10 +03:00
Alexander Medvednikov
989c5e26f5 c2v: use https git clone 2022-06-22 22:49:29 +03:00
Alexander Medvednikov
c9ab086029 cmd/tools: enable c2v 2022-06-22 22:10:46 +03:00
Delyan Angelov
6a4ba22eae
tests: flush test headers to ensure stable output with VJOBS>1 2022-06-22 12:46:32 +03:00
Larpon
9f5e442dab
tools: add bump flags to vcomplete (#14813) 2022-06-21 15:11:42 +03:00
Delyan Angelov
c6f94e9cab
tools: distribute vpm queries randomly between the available backend servers 2022-06-21 12:58:37 +03:00
Delyan Angelov
f08c768c8e
tools: add a new readonly VPM server mirror url, to mitigate failures of the main vpm.vlang.io 2022-06-21 12:27:41 +03:00
Delyan Angelov
1fc9e1a716
tools: build c2v in non verbose mode by default 2022-06-20 16:03:39 +03:00
Delyan Angelov
fa2e8d8459
tools: use os.system for the c2v runs to monitor the progress more easily 2022-06-20 15:50:38 +03:00
Delyan Angelov
0e4198f23b
tools: fix v vet file.v for return if x { y // comment } else { z } 2022-06-20 13:29:22 +03:00
Delyan Angelov
37ef1ee453
tools: do show the output of c2v, when it fails 2022-06-19 17:08:21 +03:00
Delyan Angelov
7b1ade237b
tools: fix the first run of v translate hw.c 2022-06-19 16:19:56 +03:00
Alexander Medvednikov
6875a173ec cmd: enable v translate, download and install c2v 2022-06-19 15:52:42 +03:00
Alexander Medvednikov
10051e005a parser, cgen: temporary prefix ++ for translated code 2022-06-18 13:30:47 +03:00
wahur666
18dfaf6164
tools: handle fn attributes/comments more robustly, when v missdoc is run (#14774) 2022-06-18 11:02:39 +03:00
Delyan Angelov
205221074c tools: support v watch -k run examples/gg/rectangles.v (keep a program running) 2022-06-15 18:00:10 +03:00
Delyan Angelov
b27b6b2047
tools: let v gret make an easily visible diff.png image after regressions, and upload it too, to make CI failures easier to diagnose 2022-06-10 15:38:50 +03:00
Larpon
690a8422d1
vcomplete: add -no-parallel to flag completions (#14735) 2022-06-10 11:57:12 +03:00
Delyan Angelov
e1360ccf8c
ci: add VTEST_JUST_ESSENTIAL=1 ./v test-self mode. Use it for alpine-docker-musl-gcc . 2022-06-09 15:26:52 +03:00
Delyan Angelov
82eb495617 ci: on windows-msvc, skip const_fixed_array_containing_references_to_itself_test.v 2022-06-04 13:05:27 +03:00
yuyi
251716fa0e
vrepl: fix error for exitasdfasdf in repl (fix #14593) (#14598) 2022-06-02 19:59:57 +03:00
Delyan Angelov
031629faa1
tools: add cmd/tools/measure/scanner_speed.v and cmd/tools/measure/parser_speed.v 2022-06-02 13:50:25 +03:00
Delyan Angelov
2fa64f1471
ci: skip embed_file_test.v for now 2022-06-01 12:06:02 +03:00
Delyan Angelov
0f3b2c2ae7
builtin: use C.fwrite (buffered) for _write_buf_to_fd (#14558) 2022-05-30 19:15:05 +03:00
Hunam
78d1b7f4ef
net.http: Response.text -> Response.body (#14478) 2022-05-29 20:27:18 +03:00
Larpon
f3e7f24ee6
tools: implement v missdoc --diff oldv newv (#14537) 2022-05-27 18:19:06 +03:00
Delyan Angelov
36cb552918
ci: vfmt cmd/tools/vpm.v 2022-05-27 15:22:47 +03:00
Delyan Angelov
156aa661ee
tools: fix v install https://github.com/nedpals/vex.git (fix #14483) 2022-05-27 15:21:01 +03:00
Larpon
9f5e999b4a
tools: add v missdoc --verify mode (#14525) 2022-05-25 19:06:11 +03:00
Vincenzo Palazzo
17bba712bd
checker: ban unsafe pointer/fn comparison (#14462) 2022-05-20 18:30:16 +03:00
Larpon
8eea861c93
vcomplete: improve flag completion, add missdoc (#14415) 2022-05-18 08:50:32 +03:00
Delyan Angelov
65d9c8fa6f
tools: add a vet_known_failing_windows skip list to v test-cleancode 2022-05-17 20:19:37 +03:00
Delyan Angelov
3fc4459485
ci: ignore orm_joined_tables_select_test.v on tasks, that do not have sqlite installed 2022-05-17 12:53:07 +03:00
Larpon
ef6225c542
vvet: fix false positive, add test (#14403) 2022-05-16 12:24:21 +03:00
Delyan Angelov
b4c529066a
tests: simplify cmd/tools/modules/testing/common.v 2022-05-16 10:29:57 +03:00
Daniel Däschle
d679146a80
fmt: remove space in front of ? and ! (#14366) 2022-05-13 06:56:21 +03:00
Alexander Medvednikov
0526499d5f tools: hide tcc warning on macos for now 2022-05-08 08:01:55 +03:00
Delyan Angelov
01c1892995
tools: fix building vdoctor.v with v build-tools 2022-05-04 23:30:44 +03:00
Delyan Angelov
4da2908d63
vdoc: fix panic on empty // comment on v doc -f html file.v; turn expected code block after empty example to a warning 2022-05-03 00:02:12 +03:00
Delyan Angelov
63d413f93c
tools: support v missdoc . instead of v run cmd/tools/missdoc.v . 2022-04-30 16:12:39 +03:00
Delyan Angelov
c0b37409d2
tools: support a v vet -p file.v option that will warn about private functions with missing documentation 2022-04-30 16:09:30 +03:00
Delyan Angelov
8da42bfc85 tests: fix ./v -W build-tools CI failure 2022-04-30 13:49:36 +03:00
Delyan Angelov
5277ce7dce
tests: support for marking _test.v files with // vtest flaky: true, to reduce false positives from the CI 2022-04-30 13:30:02 +03:00
Delyan Angelov
dcdfdf4dd8
tools: make v up more informative on failure 2022-04-30 10:11:02 +03:00
spaceface
dab649ec8a
cgen: rewrite the closure implementation (#14223) 2022-04-30 09:32:46 +03:00
Delyan Angelov
60e205a193
tests: add ability to check the output of commands for .starts_with, .ends_with and .contains strings, in v test-all 2022-04-25 12:20:38 +03:00
Delyan Angelov
365e7d6b34
vfmt: ignore parser warnings, cleanup code 2022-04-23 11:10:12 +03:00
StunxFS
2a0b372d0d
tools: minor cleanup in fast.v (#14117) 2022-04-21 10:46:35 +03:00
Delyan Angelov
31b28af179
bootstrap: remove -I ./thirdparty/stdatomic/nix from make files (#14111) 2022-04-21 00:12:50 +03:00
lemon
960225f7a7
builtin: fix -cc gcc -gc boehm on linux and macos (#14115) 2022-04-21 00:12:17 +03:00
Isaiah
0887b59254
vpm: fix get_all_modules() (#14097) 2022-04-20 12:15:30 +03:00
Vincenzo Palazzo
48486e1afb
ci: reformatted tools/vcreate.v (#14054)
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2022-04-16 19:09:08 +03:00
Cameron Katri
1fc54a1e5b
vcreate: Allow custom default license (#14046) 2022-04-16 17:43:25 +03:00
Alexander Medvednikov
fbb9e65c0f all: ~500 more byte=>u8 2022-04-15 18:25:45 +03:00
Alexander Medvednikov
fb192d949b all: replace []byte with []u8 2022-04-15 15:35:35 +03:00