Enzo Baldisserri
323ca2b3bb
checker: check duplicates on match with no else
...
Refactor match duplication test to work even if there is not else, and to include every expression.
Add tests for duplicate expressions in match.
2020-04-24 17:04:39 +03:00
Delyan Angelov
ebc41375f1
os.executable: fix panic when os.executable_fallback fails (early in startup)
2020-04-23 21:53:18 +03:00
Alexander Medvednikov
1b6ae00966
os: rename os_nix.v to os_nix.c.v
2020-04-11 20:43:17 +02:00
lutherwenxu
dc4db87be3
vlib: use new filename format
2020-04-11 19:51:32 +02:00
Delyan Angelov
3abbdd4a39
tests: fix vlib/os/environment.v
2020-04-08 18:01:19 +03:00
Delyan Angelov
b9ec1479e4
checker: allow again fallthrough in or{} blocks of option calls without assignment
2020-04-08 02:56:24 +03:00
Daniel Däschle
0024ff848d
parser: check if the last or {} block expression is valid
...
These checks allows for:
a) `x := call() or { 'abc' }`
b) `x := call() or { panic('abc') }`
c) `x := call() or { exit(123) }`
d) `x := call() or { continue }`
e) `x := call() or { break }`
f) `x := call() or { return }`
... but produce errors for:
g) `x := call() or { println('an error') }` , etc.
2020-04-07 17:36:00 +03:00
Delyan Angelov
206c1f4ca1
os: implement os.is_writable_folder/1
2020-04-05 16:56:54 +03:00
Daniel Däschle
e077cce103
vlib: add inode/mode information functionality ( #4242 )
...
* vlib: add inode/mode information functionality
* vlib: add docs to inode
2020-04-05 00:37:13 +03:00
yuyi
0796eb4149
os: optimize os_windows.v
2020-04-04 11:59:25 +02:00
Alexander Medvednikov
1d52847924
checker: error on an unknown ident
2020-04-03 10:52:48 +02:00
Alexander Medvednikov
5b53b3d7e3
cgen/os: minor fixes
2020-04-02 14:00:28 +02:00
Alexander Medvednikov
5b835d294c
more windows fixes + bring back windows ci
2020-04-02 13:44:46 +02:00
Alexander Medvednikov
1178bfa578
windows: a temp SUCCESS fix
2020-04-02 13:31:37 +02:00
Alexander Medvednikov
d9c7253836
windows: "".to_wide() fixes
2020-04-02 13:24:23 +02:00
Alexey
cedf185b41
v2: fix Windows errors
2020-03-28 10:19:38 +01:00
Alexander Medvednikov
473d9fef55
checker: do not allow extra () in if conditions
2020-03-27 14:57:19 +01:00
yuyi
9c5de77f12
os: ext => file_ext
2020-03-26 14:18:08 +01:00
Delyan Angelov
d54843275f
os_test.v: simplify cleanup
2020-03-26 00:09:30 +01:00
Alexander Medvednikov
7070b1cda9
cgen: GotoStmt, err variable
2020-03-25 17:24:55 +01:00
Delyan Angelov
2a7bc63919
vmft2: support for multiline comments, CompIf, AssertStmt, octal literals
2020-03-24 22:18:58 +01:00
Alexander Medvednikov
0e240458d3
os: fix os_test
2020-03-24 17:16:00 +01:00
Alexander Medvednikov
32c8eb6490
os: vfmt os_test.v
2020-03-24 16:18:37 +01:00
Alexander Medvednikov
f101e9b9e2
v2: string fixes, is_dir fix
2020-03-24 11:14:11 +01:00
Alexander Medvednikov
b69ebd73b2
cgen: minor fixes. v2 can now compile itself!
2020-03-22 16:55:42 +01:00
Alexander Medvednikov
2738a0c776
cgen: backtrace and sigaction fixes
2020-03-22 14:47:45 +01:00
Alexander Medvednikov
ab3f6d9202
cgen: generate indents for more readable C code
2020-03-22 10:12:45 +01:00
Naheel
c50c6812ce
os: fix cp() spaces in files names
2020-03-22 08:43:24 +01:00
Alexander Medvednikov
e5f6a0949f
cgen: autofree: first step
2020-03-21 19:52:19 +01:00
Delyan Angelov
ba088056ed
solaris: make 'v test-compiler' pass (stage 2)
2020-03-21 09:48:02 +01:00
yuyi
2f27758a4b
os: realpath => real_path
2020-03-20 16:41:18 +01:00
yuyi
010f3efcf0
os: filename => file_name
2020-03-19 15:49:07 +01:00
Joe Conigliaro
126ef0f5c2
checker/gen: add unchecked exprs & small fixes
2020-03-18 19:56:19 +11:00
Delyan Angelov
19f9c18305
os: make executable() more robust
2020-03-13 22:19:02 +01:00
Alexander Medvednikov
973b5c226a
cgen: optionals fixes
2020-03-13 12:22:36 +01:00
yuyi
8ff86dbee6
os: is_abs => is_abs_path
2020-03-10 16:09:37 +01:00
yuyi
57b1b12ab6
os: tmpdir => temp_dir
2020-03-10 15:02:09 +01:00
Delyan Angelov
7036ca55e6
os: implement os.environ() (part 2/2) ( #3971 )
2020-03-10 14:25:16 +01:00
yuyi
876b73f92c
os: join => join_path
2020-03-09 02:23:34 +01:00
yuyi
a569959fb8
os api: cachedir => cache_dir
2020-03-08 15:57:47 +01:00
yuyi
23b11c84b1
os api: basedir => base_dir
2020-03-08 15:43:56 +01:00
yuyi
783dee1f48
os: merge with filepath
2020-03-07 22:26:26 +01:00
Alexander Medvednikov
b7e2af8151
os: better deprecated message
2020-03-04 20:29:17 +01:00
Alexander Medvednikov
f27f832ede
cgen: definitions + other fixes; calloc fix
2020-03-04 17:08:28 +01:00
yuyi
448ed41562
os api: rmdir_recursive => rmdir_all
2020-03-03 15:02:50 +01:00
yuyi
ea10f44fe6
os api: flush_stdout => flush
2020-03-03 00:00:30 +01:00
yuyi
8ac0739858
os api: cp_r => cp_all
2020-03-02 19:30:04 +01:00
Alexander Medvednikov
7f5a15372f
os: fix get_raw_line() + minor v2 fixes
2020-02-28 14:05:20 +01:00
Nicolas Sauzede
f5fdbfd004
os: fix getline warning for linux
2020-02-28 02:43:42 +01:00
Alexander Medvednikov
a5db9c3519
os: bring back write_bytes_at()
2020-02-27 00:41:05 +01:00
spaceface777
ef8c1203b4
cleanup: replace C for loops with range
2020-02-24 17:55:16 +01:00
SleepyRoy
7d2eb4f604
scanner: make 0o
prefix the only way to define octals
2020-02-23 23:43:04 +01:00
yuyi
9d2a60bb11
os: optimize os_windows.v
2020-02-23 20:46:13 +01:00
yuyi
1a1aa267b7
vlib: remove malloc unsafe warning
2020-02-22 12:41:24 +01:00
yuyi
b325320f29
os: minor fixes
2020-02-21 20:14:01 +01:00
Alexander Medvednikov
b309e7d0e5
type_to_str()
2020-02-21 14:47:42 +01:00
yuyi
527377dc86
fix os_test.v
2020-02-21 12:24:13 +01:00
Alexey
8677a5981c
os: use unified way to deprecate functions
2020-02-20 23:00:02 +01:00
vitalyster
2e1dbd9f5a
windows: use %USERPROFILE% for os.home_dir()
2020-02-18 02:12:10 +01:00
yuyi
6849a4e770
filepath: path separator ( #3756 )
2020-02-17 20:31:23 +01:00
yuyi
e272a10bda
vfmt fixes
2020-02-16 12:42:28 +01:00
Alexander Medvednikov
9610821884
v2: defer; match a,b; if x :=
2020-02-11 10:26:46 +01:00
yuyi
c1c2b648ab
os: typo in wait
2020-02-10 18:48:01 +01:00
joe-conigliaro
94537c5901
compiler: scope type alias to module
2020-02-09 15:40:31 +01:00
Delyan Angelov
1618596218
os: fix compiler warnings when just importing os
2020-02-05 11:23:49 +01:00
Delyan Angelov
da21b50750
gg,os: minimize memory allocation
2020-02-03 04:01:39 +01:00
Alexander Medvednikov
9f4661391d
v2: simplify the type system; an initial version of the V interpreter
2020-02-02 07:56:18 +01:00
radare
2fbfbf45c7
os: simplify read_lines(
2020-01-31 15:59:23 +01:00
Shun Sakai
c8c43a2475
update copyright year
2020-01-23 21:04:46 +01:00
KJ Lawrence
ae3d84df6b
os: add open_file function
2020-01-21 16:58:47 +01:00
Delyan Angelov
f317b65808
ui: fixes so that the ui demo works on linux too
...
* Implement os.resource_abs_path/1 .
* Implement glfw.get_window_size and glfw.get_framebuffer_size .
2020-01-12 19:35:06 +01:00
Alexander Medvednikov
b6c0b22742
interfaces fixes; freetype.text_width(); gl and stbi fixes
2020-01-12 16:11:28 +01:00
vitalyster
66a6fa163e
windows: read console using ReadFile/ReadConsole ( #3387 )
2020-01-10 14:06:40 +01:00
r00ster
025efcb731
os: add is_executable, is_writable and is_readable
2020-01-06 09:15:06 +01:00
Delyan Angelov
4c3df963fa
v repl: fix println regression on linux
2020-01-05 22:49:09 +01:00
Delyan Angelov
8053175ead
android: fix os.create and builtin
2020-01-05 20:13:35 +01:00
Delyan Angelov
67f397f888
os: implement os.cachedir() . Use it inside os.tmpdir() too
2020-01-03 19:46:23 +01:00
Alexander Medvednikov
b7663848ef
os: fix create()
2020-01-01 12:57:27 +01:00
Alexander Medvednikov
47908c22df
cgen_test: skip empty lines; os: make vc_gen compile
2020-01-01 12:50:25 +01:00
Alexander Medvednikov
78c706ab71
Revert "enable macos syscalls"
...
This reverts commit d226fa7b17
.
2020-01-01 12:24:50 +01:00
Alexander Medvednikov
d226fa7b17
enable macos syscalls
2020-01-01 12:10:39 +01:00
Alexander Medvednikov
96d02849aa
parser: parse_file(path)
2020-01-01 10:15:05 +01:00
Alexander Medvednikov
87cff0386c
time: gmt offset; macos syscalls
2020-01-01 10:09:19 +01:00
Alexander Medvednikov
4424f83470
os: disable write_bytes_at() and read_bytes_at() for now
2019-12-31 11:43:10 +00:00
Alexander Medvednikov
f9cc419dba
os: syscalls
2019-12-31 10:16:34 +00:00
mY9Yd2
6cee50afda
os: fix tmpdir on unix
2019-12-30 05:25:26 +01:00
Delyan Angelov
a0f32f5c29
tests: improved test output formatting
2019-12-30 05:23:54 +01:00
Abdullah Atta
4f173c8900
vpm: implement & improve install, search, update, remove
2019-12-30 05:22:28 +01:00
Nicolas Sauzede
4925aa594b
os: fix deprecated os.dir to work as advertised
2019-12-28 08:49:27 +01:00
Don Alfons Nisnoni
06fba73ab9
os: add os.symlink() function
2019-12-27 19:10:06 +01:00
vitalyster
2f23ee4818
windows: cleanup after bootstrapping with unicode entrypoint
2019-12-27 19:07:31 +01:00
Delyan Angelov
6c16bac908
vfmt: it can now be used for _platform.v files too, no matter the host os
2019-12-27 17:59:04 +01:00
vitalyster
3f0f8bac49
windows: do not link gdi32/shell32 to console applications
...
* read os.args from argv when we have console
* dynamically load CommandLineToArgvW when we are GUI app
* link gdi32/shell32 in glfw module
2019-12-27 11:27:19 +03:00
Delyan Angelov
96fa15c125
v fmt: process .v files from a module too
2019-12-24 05:43:31 +03:00
Alexey
dced76d1a4
os, filepath: reorganize functions
2019-12-23 13:09:22 +03:00
Alexander Medvednikov
848cd3cb3e
run vfmt on http, net, sync, strconv
2019-12-22 01:57:50 +03:00
Alexander Medvednikov
6210984c97
run vfmt
2019-12-20 02:09:56 +03:00
Alexander Medvednikov
519f2990f2
vfmt: minor fixes
2019-12-19 10:02:47 +03:00
Delyan Angelov
4b7aa4ec09
freebsd: fix compilation
2019-12-18 13:21:20 +03:00
Abdullah Atta
20e73ff69a
os: fix nreadelements naming
2019-12-18 08:22:52 +03:00
prime31
f00f9fbf5a
os: fix bug where read_bytes would return only the first byte
2019-12-18 00:16:56 +03:00
Alexander Medvednikov
b8f728590b
string: last_index ?int
2019-12-12 21:54:48 +03:00
Delyan Angelov
1bb38a38bb
tooling: add tools/oldv , for use with 'git bisect', or for testing with older V
2019-12-08 20:21:17 +03:00
Alexander Medvednikov
49f960aea5
fix some windows cast warnings
2019-12-07 22:42:20 +03:00
Alexander Medvednikov
9cba3bdf78
windows: WideCharToMultiByte() returns an int
2019-12-07 17:31:07 +03:00
Alexander Medvednikov
2fb7fba856
require else
in match
statements
2019-12-07 17:01:44 +03:00
Alexander Medvednikov
f51784ee01
remove unnecessary casts everywhere
2019-12-07 15:51:00 +03:00
Delyan Angelov
353805e170
os: test is_link()
2019-12-06 12:09:35 +03:00
BilligsterUser
0a38b307cd
os_test: use rmdir() to del dirs
2019-12-05 17:08:55 +03:00
Nicolas Sauzede
9d854c5df0
vlib: sdl module + tVintris example
2019-12-05 11:25:55 +03:00
Alexander Medvednikov
e707ac4f28
test v -live message.v
2019-12-05 00:17:38 +03:00
Alexander Medvednikov
2144c162c4
os: is_link()
2019-12-04 23:53:11 +03:00
Alexander Medvednikov
a57e29dfc5
os: replace dir_exists with is_dir; file_exists() => exists()
2019-12-04 23:17:45 +03:00
Alexander Medvednikov
b2b34e18e4
use the new &C.Foo(0) cast
2019-12-04 12:19:32 +03:00
Alexander Medvednikov
2bafd41183
&C.Foo(0)
cast to replace &C.Foo{!}
hack
2019-12-04 12:13:17 +03:00
bogen85
a9aaa13a09
freestanding: sys_getuid, sys_waitid; minimal fork check; remove bare.S
2019-12-04 11:46:09 +03:00
Delyan Angelov
eb20dd39b1
freestanding: init consts
2019-12-04 01:40:26 +03:00
Alexander Medvednikov
66f271f100
fix a string interpolation bug
2019-12-03 20:41:49 +03:00
Alexander Medvednikov
f192429c8a
$if mac => $if macos
2019-12-03 16:29:37 +03:00
Enrico Lefass
6d28a80bf8
haiku support (part 2)
2019-12-03 11:26:47 +03:00
Delyan Angelov
ec15bfb7d1
v test v => v test-compiler
2019-12-01 12:50:13 +03:00
Alexander Medvednikov
3fea8f3de5
*char => charptr everywhere
2019-12-01 10:33:26 +03:00
Alexander Medvednikov
7e4799334f
array: make left/right/slice private
2019-11-30 12:37:34 +03:00
Alexander Medvednikov
1bfcdaa2cc
ci: test the new prebuilt packages
2019-11-29 19:14:26 +03:00
Delyan Angelov
7545ea709a
enable alpine/musl CI tests
2019-11-28 11:46:52 +03:00
Unknown User
268a6dc6d9
add missing cfns
2019-11-25 04:35:41 +03:00
Alexander Medvednikov
24b40be548
default struct vals
2019-11-24 13:53:59 +03:00
Alexander Medvednikov
7cc21be7de
clipboard: make compile on Linux
2019-11-24 13:22:57 +03:00
Alexander Medvednikov
f4fe90ea6d
C fn definitions on Linux
2019-11-22 19:00:56 +03:00
Alexander Medvednikov
e9e931fe4a
force C function definitions
2019-11-24 12:14:22 +03:00
Alexander Medvednikov
1f93bb5a9a
os: windows fixes
2019-11-23 21:40:32 +03:00
Alexander Medvednikov
cfd4f0c69c
os: fix fullpath call on windows
2019-11-23 21:05:49 +03:00
Alexander Medvednikov
ccb261f00d
os: fix unreachable code
2019-11-23 21:00:20 +03:00
Alexander Medvednikov
0aa2196eec
os: fix realpath on windows
2019-11-23 20:56:22 +03:00
Don Alfons Nisnoni
3a6ccf7f31
os: mkdir() error handling
2019-11-23 19:55:18 +03:00
Alexander Medvednikov
9712213f50
x64 machine code generation (ELF)
2019-11-22 14:33:22 +03:00
Delyan Angelov
a620e66af5
compiler: add os.mv_by_cp and use it for the temporary files
2019-11-19 12:55:02 +03:00
Alexander Medvednikov
20d6492775
os: make read_lines() return ?[]string
2019-11-19 02:25:55 +03:00
Alexander Medvednikov
52e3586be3
os: use mkdir() on Linux for now
2019-11-19 00:33:43 +03:00
joe-conigliaro
6d7fe1f83c
fix vtool used with paths w/spaces (win/nix)
2019-11-17 14:36:05 +03:00
Delyan Angelov
be7cf3e812
compiler: support storing temporary files under TMPDIR/v/
...
Fix for filepath.join not \0 terminating its result
2019-11-17 06:45:20 +03:00
Alexander Medvednikov
5a1de13e10
bare: fix str[idx]
2019-11-16 23:22:40 +03:00
Alexander Medvednikov
a545ccb740
bare: stdint.h
2019-11-16 11:24:25 +03:00
Alexander Medvednikov
d1b8d34dd5
os_linux.v
2019-11-16 09:16:51 +03:00
Nicolas Sauzede
1dadf9d966
fix Windows warnings
2019-11-16 02:30:50 +03:00
Delyan Angelov
e577b40743
compiler: add support for $if x32, x64, big_endian, little_endian
2019-11-15 16:14:28 +03:00
Alexander Medvednikov
96cde10696
C string literals (c'str'); bare builtin module; bare println()
2019-11-15 02:29:20 +03:00
Alexander Medvednikov
bd97dc0134
os: realpath potential fix
2019-11-15 01:07:38 +03:00
Alexander Medvednikov
a04c3bac83
CI: ubuntu-musl target
2019-11-15 00:46:40 +03:00
Alexander Medvednikov
9499275180
os: mkdir syscall on linux
2019-11-15 00:15:23 +03:00