Alexander Medvednikov
207bab5f79
generics, vweb, comptime codegen, etc
2019-07-29 18:24:48 +02:00
Joe Conigliaro
2a30564ed1
fix
2019-07-28 17:15:24 +02:00
Alexander Medvednikov
dbb64ec149
Revert "modules: fix "is not a directory" error"
...
This reverts commit d38940ad57
.
2019-07-28 01:22:15 +02:00
Alexander Medvednikov
d38940ad57
modules: fix "is not a directory" error
2019-07-28 01:11:38 +02:00
Alexander Medvednikov
b0913dc5a8
print "running [exe name]" only in verbose mode
2019-07-27 16:42:17 +02:00
joe-conigliaro
26a1762156
make empty module dir error less confusing
2019-07-27 02:18:56 +02:00
Joe Conigliaro
3850227b46
use mod var
2019-07-27 01:14:35 +02:00
joe-conigliaro
7b95f09f86
detect import of non existent modules
2019-07-26 18:24:40 +02:00
Emily Hudson
90bb48db5d
interactive debugging
2019-07-26 16:45:16 +02:00
Alexander Medvednikov
9ccd3bde01
do not allow declaring a mutable variable if it's never modified
2019-07-25 13:44:34 +02:00
Emily Hudson
dbf027acb8
MSVC: Use vswhere instead of mscrazy ( #1307 )
...
* Use vswhere + our own reg stuff instead of microsoft_craziness
* Cleanup code
* HKEY is a pointer so RegKey should be a pointer
2019-07-25 12:29:24 +02:00
Emily Hudson
049d78a78d
Change CGen so that v.c is compileable with msvc
2019-07-24 17:46:41 +02:00
Vitaly Takmazov
0bbefca875
Windows: unicode command line
2019-07-24 14:32:36 +02:00
vitalyster
fcb1f211e3
Windows Unicode I/O
2019-07-24 12:16:45 +02:00
Alexander Medvednikov
13e1b4edb1
V 0.1.16
2019-07-24 00:45:32 +02:00
Alexander Medvednikov
2291e9fcfe
Revert "Windows Unicode support"
...
This reverts commit 8462e99bc5
.
2019-07-24 00:24:34 +02:00
Alexander Medvednikov
b48e23757f
msvc fixes
2019-07-24 00:20:07 +02:00
vitalyster
8462e99bc5
Windows Unicode support
2019-07-23 23:40:24 +02:00
Emily Hudson
e25ea7f9dd
add MSVC C backend support; fix live code reloading on Windows; other Windows fixes
2019-07-23 23:23:13 +02:00
Alexander Medvednikov
3cf8e18cf6
include <pthread> on all BSDs
2019-07-23 23:15:21 +02:00
Alexander Medvednikov
527b9e13fa
key in map
syntax
2019-07-23 23:00:09 +02:00
Delyan Angelov
04bd8d7f7d
compiler: Fix for #1268 . Passing -o file.c, skips the C compiler invocation and leaves the intermediary file.c .
2019-07-23 13:35:19 +02:00
Delyan Angelov
a307a51b46
live reload: stability fixes
2019-07-22 19:08:32 +02:00
Alexander Medvednikov
01caee5b53
include <pthread> on macOS
2019-07-22 13:45:02 +02:00
Delyan Angelov
a65ae726ee
live reload: fix SIGSEGV when calling dlclose, while a live fn is still running.
2019-07-22 12:25:41 +02:00
Alexander Medvednikov
e11c23a817
main.v: print how much time cc() took; more flags explained
2019-07-21 19:42:51 +02:00
joe-conigliaro
135f200ea2
modules: cyclic import detection
2019-07-21 17:53:35 +02:00
Alexander Medvednikov
23c5f88f3e
Revert "Windows Unicode I/O "
...
This reverts commit 3e005074a3
.
2019-07-21 17:29:40 +02:00
Alexander Medvednikov
e2364f6285
main.v: update help
2019-07-21 14:42:54 +02:00
Alexander Medvednikov
40c31f701f
free arrays when they are out of scope
...
main.v: update help
2019-07-21 14:42:31 +02:00
vitalyster
3e005074a3
Windows Unicode I/O
2019-07-21 13:29:32 +02:00
Brian Callahan
876dee6435
OpenBSD needs pthread.h
...
Like Linux, OpenBSD also needs pthread.h (likely that all the BSDs do).
2019-07-20 11:48:06 +02:00
Delyan Angelov
38c58f9f1b
compiler: fix #1193 . Flag -c_options is now named -cflags.
...
You can also pass -cflags '-Os -fno-inline-small-functions'
2019-07-18 19:45:31 +02:00
joe-conigliaro
b3bdcfda42
Fix modules order
2019-07-18 19:25:46 +02:00
Delyan Angelov
1ef0f3b549
live reload: the reload_so function now uses too, instead of hard coding the v name (which some people do not have in their PATH or have as an alias)
2019-07-18 15:56:38 +02:00
Alexander Medvednikov
c35adbea91
vfmt fixes
2019-07-17 21:00:39 +02:00
Alexander Medvednikov
7dc7502fe2
fix REPL and hot code reloading for users that don't have V in PATH
2019-07-17 19:23:47 +02:00
Delyan Angelov
5d0cb1437c
Add support for VFLAGS environment variable, merged with cmd args.
...
Using VFLAGS, you can pass common options through it to the V compiler,
without having to manually specify them everytime when you type V ...
In addition, since environment variables are *inherited*, all subprocess
V compilers, which V launches (for example when compiling with -live),
will *also* use the same VFLAGS environment variable.
Example usage:
export VFLAGS="-debug -show_c_cmd"
v -live message.v
=> This will keep *both* of the generated C source files .message.c
*AND* .message_shared_lib.c . It will also cause both V compile
subprocesses to print their resulting C compiler backend lines.
This is very useful when using GDB to debug problems.
2019-07-16 19:35:16 +02:00
Delyan Angelov
17580f3013
Support for passing different options to the C compiler backend.
...
Example: 'v -c_options=-Os' will pass -Os to the C compiler.
In effect the C compiler will optimize the generated binary for size.
2019-07-16 19:34:44 +02:00
Alexander Medvednikov
1748632144
do not create ~/.vlang directory
2019-07-16 17:44:25 +02:00
Alexander Medvednikov
31032d3a62
allow field 'type'
2019-07-16 13:01:39 +02:00
Alexander Medvednikov
eb7aee5ae0
store temp C files in the same directory
2019-07-16 02:12:05 +02:00
Alexander Medvednikov
cc06fe7ae6
os.dir(); fix vroot on Windows
2019-07-16 01:57:06 +02:00
Alexander Medvednikov
8902256592
V 0.1.15
2019-07-15 23:56:18 +02:00
Alexander Medvednikov
edbcefb811
fix and simplify VROOT
2019-07-15 23:33:31 +02:00
Alexander Medvednikov
62e6e03492
-ldl is only required on Linux
2019-07-15 20:40:37 +02:00
Alexander Medvednikov
9b020fad53
fix OpenBSD build
2019-07-15 20:22:48 +02:00
Alexander Medvednikov
374781da1a
OpenBSD, NetBSD, DragonFly support
2019-07-15 20:19:07 +02:00
Alexander Medvednikov
449fd372f9
*_nix.v support
2019-07-15 19:23:09 +02:00
Alexander Medvednikov
b36a9f7e55
glfw always on top
2019-07-15 19:23:09 +02:00
Delyan Angelov
37aff9b107
hot reload: no -sanitize is needed anymore, -live is now enough on both Linux and MacOS X
...
* hot reload for GL programs: force the main executable (the shared library loader) to be build with -rdynamic flag, when -live is passed to v compiler.
* hot reload: optimize away a redundant load_so/0 call at the start of the reload_so thread.
* hot code reload for MacOSX requires -flat_namespace flag instead of -rdynamic (on linux).
2019-07-15 17:32:00 +02:00
Alexander Medvednikov
7c6f59afa6
FreeBSD support
2019-07-15 17:24:44 +02:00
Delyan Angelov
0556f5fd4e
When compiling with -shared (a step in compiling with -live), store the C intermediary file in a different file than main (loader) file, so that debugging symbol lookup information is correct (the files are not replaced constantly with each other).
2019-07-15 12:30:03 +02:00
Alexander Medvednikov
f7dbbf5810
re-write map.v and update the compiler
2019-07-14 22:08:17 +02:00
Nick Treleaven
cec3ea5b4d
Document v -lib
and don't advertise --help
long option
...
--help and --version are accepted, but these don't fit the `-option`
format of V's other options. To avoid confusion, don't mention them.
2019-07-13 14:54:31 +02:00
joe-conigliaro
9a957ccc18
module aliasing & file import scope
2019-07-12 07:37:54 +02:00
Alexander Medvednikov
56b7c9e35f
for key, val in map syntax
2019-07-12 07:27:30 +02:00
Alexander Medvednikov
22b41c7873
V 0.1.14
2019-07-12 05:23:00 +02:00
hazohelet
560ba55572
enable consts with operators in scripts
2019-07-12 04:53:51 +02:00
Alexander Medvednikov
f834644db4
make gg work on Windows; prebuild glad and cJSON; new ft module
2019-07-12 04:50:14 +02:00
Alexander Medvednikov
9efe305093
fix Linux build
2019-07-10 21:57:15 +02:00
Alexander Medvednikov
28843a12c7
cache string.hash()
2019-07-10 10:00:12 +02:00
Alexander Medvednikov
e1ddac1590
utf8: remove unused UTF8_CHAR_LEN macro and add a simple utf8 test
2019-07-10 09:07:04 +02:00
Alexander Medvednikov
c44d54fb4c
V 0.1.13
2019-07-10 02:03:09 +02:00
Alexander Medvednikov
26ef99293d
new enum syntax; update the compiler (p.tok == .name
)
2019-07-10 02:02:38 +02:00
Henrixounez
26af513e1b
repl: remove void line for unused and compile as repl
2019-07-09 20:55:37 +02:00
Delyan Angelov
932f6d1bef
Fix hot code reloading on linux
2019-07-09 20:54:23 +02:00
Henrixounez
7b1be8a2bd
CI: Add back erased commits and dont test hot code examples
2019-07-09 20:44:30 +02:00
Alexander Medvednikov
045d480c8c
clean up the examples a bit
2019-07-07 22:09:08 +02:00
Alexander Medvednikov
7fed451226
inotify TODO
2019-07-07 22:04:41 +02:00
Alexander Medvednikov
de8dc4cddb
hot code reloading examples
2019-07-07 22:02:27 +02:00
joe-conigliaro
8a2d25247f
submodules
2019-07-07 01:22:47 +02:00
aguspiza
36908fa304
fix for #1020
2019-07-07 01:20:56 +02:00
Alexander Medvednikov
59796a4168
small REPL fixes
2019-07-06 15:39:26 +02:00
Shivanjan Chakravorty
f630d3f342
main: vrepl interactive shell update
2019-07-06 12:07:44 +02:00
Alexander Medvednikov
d47e2f113f
Revert "make function arguments immutable"
...
This reverts commit 0f0ed8d716
.
2019-07-05 02:44:22 +02:00
Alexander Medvednikov
0f0ed8d716
make function arguments immutable
2019-07-05 00:24:13 +02:00
Alexander Medvednikov
92528205c1
minor fixes
2019-07-04 22:39:15 +02:00
Alexander Medvednikov
8f10e37370
make << work with appending arrays; PostgreSQL driver
2019-07-04 17:31:14 +02:00
Cytown
fbe8f6c774
fix array initial with [0.0/f32/f64; length] compile error
...
solution: add array_f32/array_f64 type
Signed-off-by: Cytown <cytown@gmail.com>
2019-07-04 13:01:51 +02:00
Alexander Medvednikov
68ed555e91
V 0.1.12
2019-07-04 02:21:27 +02:00
Alexander Medvednikov
5d4d3b838b
StringsBuilder => strings.Builder; strings.repeat()
2019-07-03 22:18:46 +02:00
Alexander Medvednikov
dec0d961f5
os: clean up file functions, use optionals
2019-07-03 21:37:12 +02:00
Alexander Medvednikov
d9753ee2c6
lots of vfmt fixes
2019-07-03 16:37:21 +02:00
Justice Suh
a25c4bb59f
compiler: add debug flag
2019-07-03 16:10:21 +02:00
AtjonTV
ab20db8e6e
look for modules in current path
2019-07-02 21:55:57 +02:00
Alexander Medvednikov
1bbf3a3a0c
make compiler
2019-07-02 21:45:51 +02:00
Alexander Medvednikov
a9b8bc067f
enums (mode == .default_mode
syntax); fix foo.bar[0].baz = val
2019-07-02 21:39:26 +02:00
joe-conigliaro
4ed67fbe7e
implement get_line & get_raw_line for windows + REPL
2019-07-02 16:39:40 +02:00
yep84
2ca9866f86
Handle --version arg as it already do for help
2019-07-01 22:04:28 +02:00
Alexander Medvednikov
d09758f723
fix a typo
2019-07-01 17:29:29 +02:00
Alexander Medvednikov
6ddc57c190
fix cc_windows_cross()
2019-07-01 17:23:30 +02:00
Maulana Akmal
24b0fd5097
Refactor BuildMode enum to lowercase
2019-07-01 17:20:59 +02:00
Alexander Medvednikov
4c3f1386ef
V 0.1.11
2019-07-01 16:53:54 +02:00
Alexander Medvednikov
99a9a6572a
lots of Windows fixes and cross compilation for Windows
2019-07-01 16:51:17 +02:00
Zaoqi
00174cdb83
fix #872
2019-07-01 10:46:42 +02:00
Alexander Medvednikov
5936ab16c8
fix maps; use maps for storing functions; verify struct initialization
2019-07-01 02:24:39 +02:00
Archan Patkar
74d234f8cd
remove duplication by using a new Preferences struct
2019-06-30 22:03:17 +02:00
Alexander Medvednikov
9062338cb4
fix compilation
2019-06-30 20:48:26 +02:00
Alexander Medvednikov
61b51f6149
os.File clean up + socket.v (dial())
2019-06-30 20:28:50 +02:00
Zaoqi
5bd188edad
Update main.v
2019-06-30 15:34:28 +02:00
Alexander Medvednikov
820aa3d3b3
os: remove os_mac.v and os_win.v, fix os.ls() on Windows
2019-06-30 14:57:27 +02:00
Alexander Medvednikov
b0c844415d
time.ticks() on Linux/macOS
2019-06-30 14:48:13 +02:00
Zaoqi
437b32fe78
fmt: id []typ
2019-06-30 13:06:45 +02:00
Alexander Medvednikov
159990132f
fix v run .
on Windows
2019-06-29 23:41:12 +02:00
Alexander Medvednikov
a2b80d5b3d
REPL: exit
to exit
2019-06-29 22:56:23 +02:00
Alexander Medvednikov
acaa19054b
V 0.1.10
2019-06-29 21:51:25 +02:00
Alexander Medvednikov
18525922fd
Windows fixes
2019-06-29 21:26:39 +02:00
Alexander Medvednikov
08c8b4ba22
V 0.1.9
2019-06-29 13:11:15 +02:00
Alexander Medvednikov
5b7a1e84a4
move Makefile to root
2019-06-29 12:54:57 +02:00
Alexander Medvednikov
761ba17018
move compiler tests to compiler/
2019-06-29 12:10:19 +02:00
Alexander Medvednikov
4594d78bd6
move all vlib modules to vlib/
2019-06-29 12:00:31 +02:00
Alexander Medvednikov
37e2da9d23
exit REPL on Windows
2019-06-28 21:28:55 +02:00
Alexander Medvednikov
2a2b402277
$if fix
2019-06-28 21:28:03 +02:00
Alexander Medvednikov
1bcccf0d1e
make V compilable on Windows with mingw-w64
2019-06-28 21:24:51 +02:00
Zaoqi
4cd48a6e18
Update main.v: fix typos ( #753 )
2019-06-28 15:47:38 +02:00
shivakishore14
65fed2d784
Create new line while pressing enter in repl.
...
Pressing Enter in repl should create new line instead of quiting the repl.
2019-06-28 15:44:54 +02:00
Alexander Medvednikov
99a0aa2300
fix main.v
2019-06-28 15:06:39 +02:00
Alexander Medvednikov
50012ae57b
V 0.1.8
2019-06-28 13:49:34 +02:00
Alexander Medvednikov
bd49977feb
fix single file programs without fn main
and REPL (allow imports,
...
function definitions, consts, etc)
2019-06-28 13:43:32 +02:00
Alexander Medvednikov
dc161fb20f
V 0.1.7
2019-06-27 23:14:18 +02:00
Alexander Medvednikov
6824e6e7db
Replace all remaining C code with V in the compiler and vlib (hoorah!)
2019-06-27 23:11:27 +02:00
Dirk Loss
b1682e929d
Add '-v' option as described in help text
2019-06-27 22:22:30 +02:00
Alexander Medvednikov
f39111bdff
V 0.1.6
2019-06-27 18:51:45 +02:00
Alexander Medvednikov
b846d02cb2
V 0.1.5
2019-06-27 12:52:06 +02:00
Henrixounez
8b3802d9b8
help: cleaner help informations
...
help: added repl informations
2019-06-27 02:00:08 +02:00
Alexander Medvednikov
fa925f3092
os.v: clean up, remove C code, os.exec()
2019-06-26 17:01:50 +02:00
Henrixounez
f0e6a1c1c1
added arguments handling for run
2019-06-26 14:39:31 +02:00
Alexander Medvednikov
c860bac7bf
don't allow calling private functions/methods
2019-06-26 13:15:47 +02:00
Alexander Medvednikov
8417fec5dc
os.read_file(): replace C code with V, return ?string
, handle errors
...
everywhere
2019-06-26 11:04:05 +02:00
Alexander Medvednikov
f26e65a943
remove old float
type entirely
2019-06-25 22:10:22 +02:00
Alexander Medvednikov
54bcbe0708
remove smap.v, it was not supposed to be released
2019-06-25 21:22:50 +02:00
Alexander Medvednikov
d71904823e
V 0.1.3
2019-06-25 20:49:27 +02:00
Alexander Medvednikov
688bbcff9c
v.exe: clone the repo on first launch
2019-06-25 20:41:54 +02:00
Alexander Medvednikov
61a8e6e47c
V 0.1.2
2019-06-25 14:45:07 +02:00
Alexander Medvednikov
9c1fc6717f
main.v: fix broken thirdparty dependencies
2019-06-25 14:31:51 +02:00
Alexander Medvednikov
a1b6e4e523
V 0.1.1
2019-06-25 02:07:32 +02:00
Alexander Medvednikov
5a469c2e37
main.v: remove hardcoded path ~/code/v and allow V to be installed anywhere
2019-06-25 01:55:27 +02:00
Alexander Medvednikov
11861fe9fa
translate arg
2019-06-24 17:42:44 +02:00
Alexander Medvednikov
da1e1f34fc
update help text
2019-06-24 14:43:26 +02:00
Alexander Medvednikov
1ba53a39cb
V 0.1.0
2019-06-24 14:11:56 +02:00
Alexander Medvednikov
b13f233521
re-write $if os {
and fix GCC segfaults on compilation
2019-06-24 14:05:31 +02:00
Alexander Medvednikov
b990f04064
main.v: error if vlib is missing + instruction to clone the repo
2019-06-24 00:54:23 +02:00
Henrixounez
13f5429dae
Removed # and added new error message case
2019-06-23 18:50:12 +02:00
Henrixounez
ad5e1fd8d4
Checks if dir given exists and is a directory before ls
2019-06-23 18:50:12 +02:00
Henrixounez
d71410dff5
REPL - Fix variable declare and not used by print
...
by using an empty line to call the variables
2019-06-23 14:20:51 +02:00
Henrixounez
f1cd3580eb
main.v: checking directory before trying to fetch files in said directory
2019-06-23 11:39:38 +02:00
Henrixounez
e1e8a50a46
main.v: updated help message concerning run option
2019-06-23 10:57:23 +02:00
Alexander Medvednikov
06a4dfa290
replace silly exit(reason string)
with exit(code int)
2019-06-23 10:14:37 +02:00
Alexander Medvednikov
20b5c4b88b
Remove println2
2019-06-23 10:03:03 +02:00
Ivan Greene
6c6be7acaa
Convert OS to enum
2019-06-23 09:24:40 +02:00
musou1500
1152180a71
fix cc option order
2019-06-23 09:23:53 +02:00
musou1500
c3df224c97
add include path for cJSON
2019-06-23 09:23:53 +02:00
chai2010
978ec58fe3
all: add copyright
2019-06-23 09:22:49 +02:00
Henrixounez
889d564f43
main.v: added run option example in help message
2019-06-23 03:19:03 +02:00
Yoshiya Hinosawa
cf6aa16ee4
fix: fix error messages
2019-06-23 02:49:48 +02:00
Henrixounez
f5b8f34a05
main.v: exits when prompting help
2019-06-23 02:47:36 +02:00
Alexander Medvednikov
acb00bf623
main.v: use cc
2019-06-23 01:51:04 +02:00
Alexander Medvednikov
96e15b0f0f
don't use /var/tmp
2019-06-22 22:00:38 +02:00
Alexander Medvednikov
d32e538073
V 0.0.12 open-source release
2019-06-22 20:20:28 +02:00