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
Alexander Medvednikov
34c4565f7c
wrap up -bare
2019-11-14 11:11:52 +03:00
Alexander Medvednikov
4a833d8151
parser: clean up all []
2019-11-14 09:21:20 +03:00
Alexander Medvednikov
8d4ef822b6
1
2019-11-14 07:08:11 +03:00
Alexander Medvednikov
ffa6bcfff5
vfmt: handle comments
2019-11-13 11:54:22 +03:00
Steven Gay
51663520c8
MSVC backtrace
2019-11-13 11:05:06 +03:00
Delyan Angelov
cc81e9adfa
v test v: cleanup more temporary files
2019-11-11 18:45:11 +03:00