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
Hitalo Souza
38555a92e1
time: change days_from_civil
to days_from_unix_epoch
, add date_from_days_after_unix_epoch
( #16363 )
2022-11-13 14:30:14 +02:00
Hitalo Souza
7cfaacbe7a
doc: add more examples to vlib/time/README.md ( #16362 )
2022-11-13 13:48:07 +02:00
yuyi
5a28699edb
cgen: minor cleanup in auto_str_methods.v ( #16411 )
2022-11-13 11:59:32 +03:00
yuyi
f31a3b4250
checker: check sumtype argument mismatch in generic methods ( fix #16340 part2) ( #16403 )
2022-11-13 11:58:53 +03:00
yuyi
e8e75251b4
vweb: change optional to result in vweb_test ( #16412 )
2022-11-13 11:57:35 +03:00
Taegon Kim
b54f9c2949
parser: fix attributes with optional or result types ( #16401 )
2022-11-12 18:35:01 +03:00
kahsa
9a8602ff03
doc: improve types order ( #16399 )
2022-11-12 11:42:30 +02:00
kahsa
46f1b20bbc
doc: split TOC into two rows ( #16397 )
2022-11-12 10:06:10 +02:00
Junko
5bb058e35b
gg: revamp the Context
pipeline for more effects, implement an additive
effect ( #16394 )
2022-11-12 09:39:18 +02:00
kahsa
7d31473523
doc: add links ( #16398 )
2022-11-12 09:35:35 +02:00
Delyan Angelov
12f01318c2
v.live, cgen: enable using [live]
in modules too (monitor used .v files for changes, not just the top level one) ( #16396 )
2022-11-11 22:06:42 +02:00
yuyi
c9ce5f89c7
builtin: fix f32.str() ( #16391 )
2022-11-11 13:56:45 +02:00
Delyan Angelov
c1a44efc78
tests: ensure that const loading is stressed in live_test.v, to prevent -live regressions for more complex examples like bounce.v
2022-11-11 10:45:54 +02:00
Delyan Angelov
e9fac05775
cgen: fix v -cc tcc -live run examples/hot_reload/graph.v
too
2022-11-11 10:20:18 +02:00
Delyan Angelov
202f9574ec
cgen: fix v -live -cc gcc examples/hot_reload/graph.v
2022-11-11 10:20:17 +02:00
shove
3a85955d22
all: rollback to old interpolation (step 4) ( #16383 )
2022-11-11 11:06:01 +03:00
yuyi
993e21e85b
checker: check fntype mismatch of struct field init ( fix #16372 ) ( #16381 )
2022-11-10 20:19:19 +02:00
yuyi
196b01aef7
all: minor cleanup of optional and result ( #16382 )
2022-11-10 20:14:20 +02:00
shove
26d643fc5d
all: rollback to old interpolation (step 3) ( #16380 )
2022-11-10 15:05:34 +03:00
Delyan Angelov
bbae7a705f
checker: fix incomplete implicit ast.CastExpr{} replacements
2022-11-10 13:59:22 +02:00
Delyan Angelov
7543b769ad
checker: allow for all.children := { "abc": rect, "def": rectangle()}
, where children
is map[string]Widget
, without needing explicit casts for all the map values
2022-11-10 13:59:21 +02:00
yuyi
46921480fc
comptime: fix embed file with variable argument ( fix #16360 ) ( #16375 )
2022-11-10 04:09:51 +02:00
Swastik Baranwal
bbd0603b41
checker: add check for unknown generic types in type alias decl ( #16377 )
2022-11-10 04:08:00 +02:00
Dominik Pytlewski
2634b99769
sqlite: expose SQLite's VFS layer ( #16359 )
2022-11-09 19:57:06 +02:00
yuyi
7e000bb6ae
embed_file: correct test file name ( #16376 )
2022-11-09 19:55:51 +02:00
shove
a199a9afab
all: rollback to old interpolation (step 2) ( #16373 )
2022-11-09 17:37:27 +03:00
shove
dd5f6186a1
all: rollback to old interpolation (step 1) ( #16370 )
2022-11-09 11:57:54 +03:00
Swastik Baranwal
7830597b66
checker: add check for multi level fn aliases ( #16361 )
2022-11-09 10:36:39 +02:00
Taegon Kim
ce79c9c876
checker: extract valid_comptime_
constants into v.checker.constants
( #16371 )
2022-11-09 10:07:21 +02:00
Roy Ivy III
a07f77ac52
make: add 'rebuild' target (clean and reset sub-repos, then rebuild V) ( #16357 )
2022-11-08 17:51:29 +03:00
yuyi
c7d0f0561e
scanner: fix new string interpolation - nested quotes ( #16345 )
2022-11-08 17:51:02 +03:00
Taegon Kim
bc30608e92
checker: always trigger error for anon fns without a body block ( #16358 )
2022-11-08 15:50:59 +02:00
yuyi
1d04b71c91
cgen: fix generic sumtype auto str ( #16355 )
2022-11-08 10:49:09 +02:00
Taegon Kim
dc9997f58c
fmt: fix - v fmt
transforms compile time options in some cases ( #16351 )
2022-11-08 08:05:48 +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
Roy Ivy III
c015f15d8d
make.bat: fix use of make.bat
from v up
( #16348 )
...
* .editorconfig: fix EOL for BAT files
* make.bat: fix use of `make.bat` from `v up`
- use move semantics, instead of replace, for `v` executable updates
- fixes [#16184 ](https://github.com/vlang/v/issues/16184 )
# [why]
`v up` updates the executable by directly calling `make.bat`, awaiting
the result, which keeps an open file handle to it's own executable file.
`make.bat` compiles and, crucially, attempts to directly replace that
`v` executable. But, in WinOS, files with open file handles cannot be
deleted/replaced, so the `make` then fails. The other key point is that,
although WinOS files with open file handles can't be deleted/replaced,
they _can be moved/renamed_.
Thus, the technique that most self-updating WinOS executables use is to
move the current executable to some alternate name (ie, *v_old.exe*) and
then move the newly updated executable to the original location (ie,
*v.exe*). The next invocation of the "original" executable will then run
the updated version.
Note, this technique also works correctly for direct invocations of `make.bat`.
2022-11-07 08:48:08 +02:00
pancake
407bb6641f
cgen: fix #16326 -cstrict
with $embed_file
( #16343 )
2022-11-06 15:47:06 +02:00
Delyan Angelov
5638005b17
README: fix Termux instructions (add libexecinfo too)
2022-11-06 15:09:29 +02:00
Delyan Angelov
040bcd9141
README: add a section to clarify the installation process on Termux
2022-11-06 15:04:37 +02:00
yuyi
25b8ae2189
parser: minor cleanup in comptime.v ( #16338 )
2022-11-06 08:23:28 +03:00
pancake
e3fed4c3eb
v.pkgconfig: fix infinite recursion bug when parsing dependencies ( #16342 )
2022-11-06 08:22:50 +03:00
Swastik Baranwal
ca484430e0
checker: check int overflow for const vars ( #16332 )
2022-11-06 08:22:28 +03:00
yuyi
d701cf561c
scanner: fix new string interpolation: print('{n:10}') ( fix #16321 ) ( #16325 )
2022-11-06 08:20:21 +03:00
Delyan Angelov
056f1b7c06
parser: improve error message for fn (a Foo<Foo<T>>) baz(){}
2022-11-05 19:58:22 +02:00
Delyan Angelov
27d8f2371d
ci: fix go->spawn in the examples in vlib/context/README.md too
2022-11-05 14:02:24 +02:00
Delyan Angelov
bf00e9bdb8
tests: fix vlib/v/fmt/tests/*_expected.vv files too
2022-11-05 11:30:49 +02:00
Alexander Medvednikov
02acb8433c
tests: fix keep tests with spawn
2022-11-05 12:13:20 +03:00
Delyan Angelov
9f2ab9aad6
ci: fix long line in doc/docs.md
2022-11-05 10:57:13 +02:00
Delyan Angelov
3e02f3b2b1
docs: put the short installation instructions directly in doc/docs.md too
2022-11-05 10:54:26 +02:00