Commit Graph

4728 Commits (fca344d1fb0ee0a69906f5b4bf559c3f18da3018)

Author SHA1 Message Date
Alexander Medvednikov e0d20eadff autofree: free strings on re-assignments 2020-09-11 13:55:20 +02:00
Alexander Medvednikov 17882db635 autofree: disable ?string test for now 2020-09-10 22:19:18 +02:00
Delyan Angelov ce6d2759f5 os: add os.open_stdin/0 and os.File.get_line/0 2020-09-10 16:57:03 +03:00
Alexander Medvednikov 67cc515e74 autofree: ?string test 2020-09-10 13:41:30 +02:00
Alexander Medvednikov 03327e5161 time: minor fixes + vfmt 2020-09-10 13:26:01 +02:00
Ned Palacios 368c2a6bf0
vlib: add x/json2 (#6336) 2020-09-10 12:05:40 +02:00
Alexander Medvednikov bc8aab4775 checker: fix := test 2020-09-09 17:59:51 +02:00
Alexander Medvednikov 3956ea4665 Revert "checker: fix := test"
This reverts commit 818220de45.
2020-09-09 17:55:48 +02:00
Alexander Medvednikov 818220de45 checker: fix := test 2020-09-09 17:50:14 +02:00
Alexander Medvednikov 5d484bf022 checker: better error message for incorrect `mut x :=` 2020-09-09 17:27:16 +02:00
Daniel Däschle 3a146a6dbe
checker: fix error pos on default value (#6338) 2020-09-09 15:34:41 +02:00
Alexander Medvednikov 78e28a72ed doc: vfmt and make compile 2020-09-09 14:24:42 +02:00
Alexander Medvednikov cb43084e26 regex: fix compilation 2020-09-09 14:18:06 +02:00
Alexander Medvednikov ea31f75098 checker: more default field fixes 2020-09-09 14:14:44 +02:00
Alexander Medvednikov 925f1781b3 checker: default field fixes 2020-09-09 14:05:56 +02:00
Alexander Medvednikov e018509ba6 checker: test for unnecessary default struct field values 2020-09-09 13:59:52 +02:00
Nick Treleaven eb95a4333a
table: rename Arg to Param (#6337) 2020-09-09 13:21:11 +02:00
Swastik Baranwal ea2b2ebc07
checker: modify error messages for ptrs (#6325) 2020-09-09 10:07:58 +02:00
bpryer 3f7970db52
term: add get_cursor_position and set_terminal_title (#6279)
* added functions

added:
  - get_cursor_position()
  - set_terminal_title(title string)

* implement term.get_cursor_position and term.set_terminal_title on unix

* Cleanup

* make x,y fields of term.Coord mutable

* fix vrepl compilation

* use more descriptive var names in term_test.v

* do not change the current terminal title in dumb terminals; do not test term.set_terminal_title outside of CI

* unix: in term.set_terminal_title, return true even for dumb terminals

Co-authored-by: Brent Pryer <brent@pryermachine.com>
Co-authored-by: Delyan Angelov <delian66@gmail.com>
2020-09-08 22:00:10 +03:00
Nick Treleaven 49c322f120
checker: simplify argument qualifier errors (#6321) 2020-09-08 19:34:17 +02:00
Ruofan XU 90128ed4ee
cc: add support for tcc backend on windows-i386 (#6297) 2020-09-08 15:15:35 +02:00
Larpon 1c5b9db63f
io: introduce a go-like io.util module (#6323) 2020-09-08 14:17:01 +02:00
Enzo 18034bb95c
gen: fix multiple call of expression in match (#6324) 2020-09-08 00:38:24 +02:00
Uwe Krüger 5258f52497
fmt: add support for `chan` types and operations (#6328) 2020-09-08 00:36:05 +02:00
Maciej Obarski 9a5b86e454
arrays: common methods - min, max, idx_min, idx_max, shuffle, merge (#6177) 2020-09-07 13:50:53 +02:00
Nick Treleaven 497bf226e2
add TESTS.md file to explain different tests (#6318) 2020-09-07 13:48:15 +02:00
Uwe Krüger 2cb711ee15
checker/channels: check `mut`/`&` state of transmitted objects (#6315) 2020-09-06 21:24:41 +02:00
Enzo 601d098b48
szip: make compile (#6314) 2020-09-06 15:04:27 +02:00
Larpon 51d7d7cfae
os: fix os.mv edge case and Windows style paths (#6302) 2020-09-06 13:12:07 +02:00
Alexander Medvednikov 9fbea31f47 autofree: fix exprs N levels deep 2020-09-06 13:02:32 +02:00
Uwe Krüger 047bf02985
builtin: fix `in` for various numeric types (#6311) 2020-09-06 12:45:02 +02:00
Larpon b4b898b769
os: enable is_file tests (#6312) 2020-09-06 12:39:02 +02:00
Uwe Krüger 4d2c8a40d6
sync/atomic2: support 32 bit platforms (#6308) 2020-09-05 14:44:16 +02:00
Alexander Medvednikov 3410705974 autofree: lots of fixes 2020-09-05 12:00:35 +02:00
Uwe Krüger b015033c53
builtin: add methods to builtin channels (#6303) 2020-09-05 01:36:20 +02:00
Pavel Kolesnikov 246fe3bfb7
builder: cc_linux_cross() fixes (#6287) 2020-09-05 01:35:35 +02:00
Xavier B 8ef55bd8c9
checker: add checks for map key/value types (#6283) 2020-09-04 23:59:54 +02:00
Larpon 81778e507f
os: is_file() (#6301) 2020-09-04 22:27:52 +02:00
Larpon efa49bfbb7
os: make behave more like Unix "mv" command (#6300) 2020-09-04 13:08:47 +02:00
Alexander Medvednikov 333f355e23 Revert "cgen: handle variables called "array""
This reverts commit cc714ca5cc.
2020-09-03 02:43:26 +02:00
Uwe Krüger b8617ace53
checker: do not allow aliases of `chan` types (#6294) 2020-09-03 02:03:31 +02:00
Alexander Medvednikov cc714ca5cc cgen: handle variables called "array" 2020-09-03 02:01:21 +02:00
Pavel Kolesnikov a3ee217537
builder: use tar instead of unzip in cc_linux_cross() (#6286) 2020-09-02 10:09:06 +02:00
spaceface777 35cbca96e1
checker: implement `[required]` struct field attribute (#6276) 2020-08-31 23:15:40 +02:00
spaceface777 bd304f1141
checker: check number of fields in short struct inits (#6280) 2020-08-31 22:17:59 +02:00
spaceface777 60a9d49382
cgen: implement `[export: 'FooBar']` attribute (#6278) 2020-08-31 21:52:25 +02:00
Sandro Martini 39da5eca89
vweb: hide debug prints 2020-08-31 19:39:46 +02:00
Uwe Krüger cbcba2e4cf
parser: enable module auto import (of `sync`) (#6271) 2020-08-31 10:44:39 +02:00
florin b1a8e1e5b2
vweb: escape form key, not only value. (#6269) 2020-08-30 19:09:12 +02:00
Xavier B d33f68ff54
x.websocket: remove debuging leftover (#6264) 2020-08-30 19:35:47 +03:00
Nick Treleaven 5d3d14da53
cgen: support `typeof(expr).name` (#6253) 2020-08-30 08:56:18 +02:00
Uwe Krüger c351f8fa47
checker, builtin: prepage for builtin channels (#6262) 2020-08-30 08:55:31 +02:00
Delyan Angelov 718a4692dd os: enable test_write_and_read_bytes again 2020-08-29 07:43:31 +03:00
Uwe Krüger fe8286c53c
checker: implement implicit conversions/promotions to `rune` (#6249) 2020-08-29 01:59:07 +02:00
Maciej Obarski 7bd2804ce9
all: automatic error propagation in place of "or { return(err) }" 2020-08-29 01:58:03 +02:00
Uwe Krüger 4d425b0e6d
fmt: insert space in front of `?` for propagation (#6250) 2020-08-29 01:56:43 +02:00
Delyan Angelov 30fc374fc5 os.args: fix os.args[0] when compiling graphical apps on windows 2020-08-28 22:39:52 +03:00
Nick Treleaven 7dbae14e19
checker: error on `mut name =` (#6247) 2020-08-28 20:07:32 +03:00
Delyan Angelov 5d18ece661 ci: fix msvc finding (3) 2020-08-28 20:06:41 +03:00
Delyan Angelov 68864d0703 ci: fix msvc finding (2) 2020-08-28 19:58:17 +03:00
Delyan Angelov 317d15dbe9 ci: fix finding the msvc compiler on windows 2020-08-28 19:48:18 +03:00
Delyan Angelov 3d8a35ced6 ci: fix compiler error tests on windows 2020-08-28 19:27:41 +03:00
Delyan Angelov dde1b89c5e vup: remove empty new line on unix 2020-08-28 19:09:47 +03:00
Maciej Obarski 2ce5797ec2
os: vfopen returns option now (#6244) 2020-08-28 14:24:00 +02:00
Alexander Medvednikov 789674bd5a tests: autofree: use -experimental flag 2020-08-28 10:22:28 +02:00
Alexander Medvednikov 0890562663 tests: autofree tmp expr test 2020-08-28 10:08:32 +02:00
Swastik Baranwal 39bf02ea68
checker: add error for arr1 <,>,>=,<= arr2 (#6243) 2020-08-28 11:08:07 +03:00
Delyan Angelov 88f75fc1d6 builder: cleanup cc.v; log build_thirdparty_obj_files with `-v` 2020-08-28 09:38:52 +03:00
spaceface777 d663f57d43
parser: move flag logic to checker (#6239) 2020-08-28 09:24:04 +03:00
Delyan Angelov 5526954fdc vdoc: cleanup warnings on `./v doc -s vlib` 2020-08-28 09:03:22 +03:00
Delyan Angelov d80843bf53 vdoc: parse with `enable_globals: true` 2020-08-28 08:53:12 +03:00
Delyan Angelov 0975f3bd4c vfmt: support `x chan Name` in fn args 2020-08-28 01:54:16 +03:00
Delyan Angelov 8f5ca29fcd vfmt: support `x := chan Name{cap: 123}` 2020-08-27 23:37:39 +03:00
Alexander Medvednikov 27702b5a5d fast: update V with v up instead of git pull 2020-08-27 18:07:28 +02:00
Alexander Medvednikov a14c6c1ffe autofree: another tmp arg fix 2020-08-27 17:54:36 +02:00
Larpon d982aa54e8
os: add missing documentation (#6234) 2020-08-27 16:57:01 +02:00
spaceface777 eff319f869
comp_for: allow checking full mehod and arg types (#5997) 2020-08-27 15:00:44 +02:00
Delyan Angelov 7476428def vfmt: handle comments after last const field 2020-08-27 15:07:49 +03:00
Delyan Angelov 8f5cefb116 strconv: fix f64_to_str_lnd and f64_to_str_l after 6921d46 2020-08-27 14:22:04 +03:00
Alexander Medvednikov c01d17fcc4 tests: fix array_test.v 2020-08-27 13:12:04 +02:00
Alexander Medvednikov 15bdb8f7cd autofree: tmp arg var frees fixes 2020-08-27 11:30:35 +02:00
Delyan Angelov 3b03edd7cb repl: fix compilation after 6921d46 2020-08-27 12:20:31 +03:00
Delyan Angelov 8b3990225a v.checker: run vfmt over vlib/v/checker/checker.v 2020-08-27 12:09:08 +03:00
Delyan Angelov f73506be49 tests: fix some byte->rune errors 2020-08-27 12:08:05 +03:00
Stunx fa3e95222e
doc: ignore sokol.sapp (#6228) 2020-08-27 08:35:04 +02:00
Xavier B 3e9dc578de
checker: disallow interfaces inside sum types (#6232) 2020-08-27 08:33:59 +02:00
Alexander Medvednikov 8dcc73993e net: remove old websocket module 2020-08-27 07:33:59 +02:00
Alexander Medvednikov 6921d46185 all: rune type for `` literals 2020-08-27 06:46:37 +02:00
Delyan Angelov 99dd72efea tests: add another test for 47f59d3 2020-08-26 11:46:29 +03:00
Delyan Angelov 47f59d3fb6 v.scanner: fix error line numbers when comments end with CRLF 2020-08-26 11:39:32 +03:00
Alexander Medvednikov 84b8e0a7e4 tests: enable live tests on macos 2020-08-26 06:50:32 +02:00
Uwe Krüger 393b46a6dd
channels: make `ch.len` and `ch.cap` available as properties (#6221) 2020-08-26 06:41:51 +02:00
Delyan Angelov 7879510ef5 live: fix hot code reloading on macos (use .dylib, not .so) 2020-08-25 21:40:45 +03:00
Alexander Medvednikov a55bea44da table: register rune type 2020-08-25 18:15:24 +02:00
Delyan Angelov cc82ed28f8 tests: enable running fmt_vlib_test.v on != freebsd platforms again 2020-08-25 19:09:47 +03:00
Delyan Angelov e3f79df3ac tests: support .vv in compiler_test.v too 2020-08-25 18:52:28 +03:00
Delyan Angelov 55fdae77d5 tests: add .vv support for `v vet` too, and simplify vet_test.v 2020-08-25 18:46:33 +03:00
Delyan Angelov 86dfd3902f tests: use .vv files directly in compiler_errors_test.v 2020-08-25 18:14:06 +03:00
Delyan Angelov f259d275fc tests: bump simple_tcp_client retries to 20 2020-08-25 17:52:44 +03:00
Delyan Angelov 7b7ab580ab tests: add retry logic in simple_tcp_client in vweb_test.v 2020-08-25 17:05:40 +03:00
Delyan Angelov 1619beda91 tests: fix repl_test.v 2020-08-25 15:59:07 +03:00
Delyan Angelov ceca1547fb valgrind: fix valgrind_test.v 2020-08-25 15:48:11 +03:00
Alexander Medvednikov c8b3cd2957 tests: simplify valgrind tests, remove .vv 2020-08-25 13:58:21 +02:00
Alexander Medvednikov 33b4ff75d0 builder: handle bad extensions and support .vv 2020-08-25 13:32:27 +02:00
Nick Treleaven 818db91a9e
parser: warn if PostfixExpr followed by `]` or `)` token (#6214) 2020-08-25 08:50:06 +02:00
Nick Treleaven 479bfa28de
cgen: implement fixed array `.len` property (#6212) 2020-08-25 08:48:28 +02:00
Nick Treleaven 8e4ee54070
glm: fix pointer indexing warnings (#6215) 2020-08-25 08:48:05 +02:00
Delyan Angelov 995a5fed1f v.builder: add -DNDEBUG for non debug -prod builds (affects sokol performance) 2020-08-24 23:10:22 +03:00
Delyan Angelov 3efa670d6a sokol: add new mouse_dx and mouse_dy fields (fix for Android multitouch) 2020-08-24 23:01:14 +03:00
Xavier B 32a894719e
x.openssl: remove printlns (#6205) 2020-08-24 17:20:03 +02:00
Nick Treleaven acc5c95f0d
checker: error with `*expr` if not a pointer (#6211) 2020-08-24 17:19:17 +02:00
Alexander Medvednikov d547f74cb0 checker/cgen: interface smart casts 2020-08-24 11:10:26 +02:00
Maciej Obarski e8e0d9fa42
all: [direct_array_access] tag (#6203) 2020-08-24 09:04:50 +02:00
Alexander Medvednikov 702a80fc5a x.net: fix new_tcp_socket() 2020-08-24 03:24:00 +02:00
Delyan Angelov fa8f5df817 sokol: fix compilation of 2048 on some linux distros (undefined XIQueryVersion and XcursorImageCreate) 2020-08-23 22:17:05 +03:00
Delyan Angelov 2e589a5b0b sokol.audio: add proper #flag for windows (-lole32) 2020-08-23 21:15:59 +03:00
Delyan Angelov e71aff71ce sokol.audio: fix compilation on macos (link with -framework AudioToolbox) 2020-08-23 20:55:01 +03:00
Delyan Angelov dad2c6608e examples: implement examples/sokol/sounds/wav_player.v 2020-08-23 20:49:37 +03:00
Delyan Angelov 1c9e02094c sokol.audio: add simple_sin_tones.v example 2020-08-23 15:28:07 +03:00
Alexander Medvednikov 542b149290 sokol: fix examples and remove copy pasta 2020-08-23 07:47:50 +02:00
Alexander Medvednikov 94c3a912ba gg: update sokol and stb_truetype 2020-08-23 07:25:30 +02:00
Alexander Medvednikov 5407d9b062 gg: fix draw_line on hi dpi screens 2020-08-23 04:57:12 +02:00
Swastik Baranwal b2e79dbebd
parser: add an error for `import mod.sub as mod` and `import mod as mod` (#6194) 2020-08-23 02:12:25 +02:00
Uwe Krüger 61df70fdf5
all: enable `x = <-ch or {...}` (#6195) 2020-08-23 02:12:05 +02:00
Alexander Medvednikov 7dfae2384b builtin: remove asl.h include 2020-08-22 17:22:14 +02:00
Alexander Medvednikov 9e12095111 gg: image: return an optional instead of panic(); darwin: fix nsstring() 2020-08-22 17:09:30 +02:00
Delyan Angelov 0bdb096bfa x.net: use port 45123 in tcp_test.v, preventing sporadic `socket error 98` conflicts with websocket_test.v 2020-08-22 15:29:29 +03:00
Delyan Angelov 94ced907d2 sort: fix C compilation error for `fn abc(mut a []int) { a.sort() }` 2020-08-22 15:20:49 +03:00
Yarila682 7dde82322a
cgen: fix dereferencing a mutable array (#6191) 2020-08-22 12:48:09 +02:00
Daniel Däschle fcc61a981d
all: TypeSymbol.source_name (#6187) 2020-08-22 12:29:15 +02:00
Delyan Angelov b5ca114a96 ui: fix compiling the calculator ui example with tcc 2020-08-22 12:58:48 +03:00
Nick Treleaven 98c39a37c0
scanner: warn about interpolation for `$f(expr)` (#6179) 2020-08-22 05:48:06 +02:00
Alexander Medvednikov 793d2ce6dc stbi: more clear panic message 2020-08-22 00:51:16 +02:00
Tomas Hellström fb148e0b61
x.websockets: new websockets module on top of x.net (#6189) 2020-08-22 00:50:38 +02:00
Nick Treleaven 1b914d217e
fmt: don't remove `mut` from `if mut` smart cast (#6188) 2020-08-22 00:00:02 +02:00
Delyan Angelov 06967d9297 sort: require a mutable receiver 2020-08-21 21:19:37 +03:00
Lukas Neubert 93e6c3df6a
cli: various improvements (#6180) 2020-08-20 23:14:53 +02:00
Emily Hudson b88569c845
x.net: new net module (#6130) 2020-08-20 23:01:37 +02:00
Delyan Angelov 9b171b76e0 os: call os.real_path/1 before returning in os.find_abs_path_of_executable/1 2020-08-20 19:23:19 +03:00
Daniel Däschle 0c183da116
checker: fix sort return type (#6182) 2020-08-20 17:29:40 +03:00
Delyan Angelov e8ff94fb8b net.html: simplify map setting (fixes compilation with tcc on aarch64) 2020-08-20 16:45:54 +03:00
Delyan Angelov dfc4298125 tests: return early in x64_test.v on non AMD64 machines 2020-08-20 15:42:26 +03:00
Delyan Angelov 8c7bcad6b1 cgen: support for `$if amd64 {}` and `$if aarch64 {}` 2020-08-20 15:28:37 +03:00
Lukas Neubert 6eea13ecc2
clipboard: wrap pointer indexing in unsafe block (#6178) 2020-08-20 10:33:12 +02:00
Alexander Medvednikov 9da7349f63 gg: minor fixes 2020-08-20 08:32:05 +02:00
Lukas Neubert 88bca9d17a
clipboard: wrap vstring call in unsafe (#6170) 2020-08-19 16:06:23 +02:00
Nick Treleaven 217f04e311
checker: disallow casting to bool, use `some_int != 0` instead (#6138) 2020-08-19 14:37:55 +02:00
Alexander Medvednikov 55b025413d fmt: temporary struct attr fix 2020-08-19 14:33:45 +02:00
Larpon d9aae023b1
android: initial support for C output using sokol_main (#6164) 2020-08-19 11:00:15 +02:00
spaceface777 c1651bd271
gg: fixes and Android support (#6161) 2020-08-19 07:10:42 +02:00