Jeremie Dimino
d1419acbb7
make sure is never called
...
This cause a failure when pressing Enter in history search mode
2015-08-07 11:03:25 +01:00
Jeremie Dimino
86c68d118e
add UTop.set_margin_function
2015-08-04 11:44:36 +01:00
Jeremie Dimino
fccbafa75b
don't trust locations returned by the compiler
2015-08-04 11:26:28 +01:00
Jeremie Dimino
92fafe1f48
Add UTop.end_and_accept_current_phrase
...
Closes #131
2015-05-12 16:46:24 +01:00
Jeremie Dimino
90ffbe737a
build with trunk
2015-03-18 16:47:29 +00:00
Peter Zotov
884328596a
Re-export Config.load_path as UTop.load_path
...
This change helps to implement toplevel extensions that want
to find files in the load path, e.g. for improved error messages.
2014-12-11 23:25:12 +03:00
Peter Zotov
ff18d998b5
Add findlib predicate pkg_utop
...
This allows required packages to distinguish whether they are
loaded in regular toplevel or in utop, and thus call Toploop
functions or those in UTop.
2014-12-11 13:47:03 +03:00
Peter Zotov
970b308126
Use tuple comparisons, present since cppo 1.1.2.
2014-11-17 17:58:12 +03:00
Peter Zotov
3fe804e340
Fix 4.01 compatibility.
2014-10-22 18:22:52 +04:00
Peter Zotov
f17f8f2959
Print out a nice message if trying to load camlp4 with no support.
...
This handles #camlp4o;; #camlp4r;; and also indirect cases
like #require "sexplib.syntax";;.
2014-10-20 20:04:18 +04:00
Peter Zotov
789417bfce
Migrate from deprecated Format functions.
2014-10-20 17:14:39 +04:00
Peter Zotov
2eea83a65f
Remove unused/deprecated autodetection from myocamlbuild.ml.
...
FINDLIB_VERSION is not used anymore.
compiler-libs are provided as a package in findlib >=1.4.
errors.cmi is now provided by compiler-libs.
2014-10-20 17:14:39 +04:00
Peter Zotov
6f7ac4559f
Remove compatibility with pre-4.01.0.
2014-10-20 17:14:39 +04:00
Peter Zotov
121b1a9e58
Get rid of lwt.syntax.
2014-10-20 16:20:55 +04:00
Peter Zotov
257bfa7eb6
Replace pa_optcomp with cppo.
2014-10-20 16:20:55 +04:00
Maverick Woo
2116ebdcfc
change error message formatting of #require
...
Before:
utop # #require "foo";;
No such package: foo""
After:
utop # #require "foo";;
No such package: foo
The quoted empty string due to %S can be confusing to students.
2014-10-17 11:57:32 -04:00
Peter Zotov
ea45f25c73
Implement wrapper for -safe-string ( fixes #93 ).
2014-09-08 23:25:25 +04:00
Jeremie Dimino
50a398744a
handle Syntaxerr.Ill_formed_ast
2014-08-18 11:29:34 +01:00
Jeremie Dimino
fac09516fc
ignore completion errors from invalid cmis
2014-08-18 11:27:03 +01:00
Peter Zotov
1541f25520
Fix compatibility with 4.02.
2014-08-07 15:31:14 +04:00
Jeremie Dimino
87b0ca1807
handle module aliases for completion
2014-07-30 13:49:59 +01:00
Jeremie Dimino
8d35b32af0
fix #77
2014-07-28 10:18:45 +01:00
Peter Zotov
495336f330
Fix build on 4.00.1 and earlier.
2014-07-05 02:17:01 +04:00
Jeremie Dimino
deccc8ea16
Don't stylise uge strings
...
Fix #73
2014-06-24 14:26:09 +01:00
Jeremie Dimino
6124f722f0
fix for trunk
2014-05-14 11:37:13 +01:00
Peter Zotov
cc8793665f
Revert "Add a shim for #ppx directive for 4.02."
...
This reverts commit 5cda9ffb99
.
The patch was accepted into 4.02 after all:
11bf27a936
2014-05-13 18:41:50 +04:00
Peter Zotov
1dc2409107
Don't execute all phrases twice on >=4.02 ( fixes #69 ).
2014-05-12 14:25:44 +04:00
Peter Zotov
c179eadcdb
Implement autocompletion for #ppx.
2014-05-07 19:37:46 +04:00
Peter Zotov
5cda9ffb99
Add a shim for #ppx directive for 4.02.
...
The patch that adds it was accepted, but missed the merge window
for 4.02: https://github.com/ocaml/ocaml/pull/54#issuecomment-42351331
2014-05-07 19:35:37 +04:00
Peter Zotov
8c09e086f5
Run ppx preprocessors before typing and report their errors gracefully.
2014-05-06 21:37:32 +04:00
Peter Zotov
5305027a36
Update for 4.02.
2014-05-06 20:18:39 +04:00
Peter Zotov
0c745bcef5
Implement -dparsetree and -dsource options (refs #51 ).
2014-05-02 19:43:30 +04:00
Peter Zotov
72a7e7bfbe
Implement -ppx option ( fixes #63 ).
2014-05-02 19:38:57 +04:00
Jeremie Dimino
b0795906e5
fix for trunk
2014-05-02 10:58:05 +01:00
Jeremie Dimino
d082071cea
supports -require for scripts
2014-04-11 16:06:09 +01:00
Daniel Bünzli
089aed899a
Support for React 1.0.0.
2014-03-27 13:58:45 +01:00
Jeremie Dimino
6101de8028
fix previous commit
2014-02-14 10:01:48 +00:00
Jeremie Dimino
991ae65caa
make utop work with trunk
2014-02-14 09:53:18 +00:00
Jeremie Dimino
938da825d3
add Async_kernel.Ivar.Deferred.t to the async hack
...
Fixes janestreet/async_kernel#2
2014-02-10 09:42:34 +00:00
Jeremie Dimino
ee400fe51b
complete on #load_rec the same way as #load
...
closes #52
2014-01-09 08:46:16 +00:00
Jeremie Dimino
578c3771c5
add the -require command line argument
2013-12-10 15:19:10 +00:00
Jeremie Dimino
52d0f02e0a
add option -no-autoload
2013-11-26 13:48:34 +00:00
Jeremie Dimino
5b0adae849
fix startup files autoloading and allow to disable it
2013-11-26 13:22:36 +00:00
Jeremie Dimino
d11d83ba65
fix #7 : avoid a stack overflow in UTop_lexer
2013-11-20 10:58:33 +00:00
Jeremie Dimino
d6e3dd0551
load every files in $OCAML_TOPLEVEL_PATH/autoload at startup
2013-11-04 12:58:15 +00:00
Jeremie Dimino
cad0bb92da
avoid record disambiguation warning
2013-10-25 10:52:32 +01:00
Jeremie Dimino
3f5ebae989
more syntax errors
2013-10-25 10:52:05 +01:00
Thomas Refis
7d56719b15
add completion on typeof directive
2013-10-16 14:33:02 +02:00
Thomas Refis
7b1984b7bc
extend typeof directive
2013-10-16 10:18:44 +02:00
Jeremie Dimino
5e99e350c2
fix compilation with ocaml < 4.01
2013-08-08 11:50:17 -04:00
Jeremie Dimino
e4962e3f73
fix #30
2013-08-07 12:35:02 -04:00
Jeremie Dimino
893cd5f327
compile with findlib < 1.4
2013-08-07 12:10:10 -04:00
Jeremie Dimino
5b5839c039
hide topfind messages
2013-08-07 11:57:28 -04:00
Jeremie Dimino
99618eafd7
don't fail when a search path does not exist
2013-07-15 12:49:40 +01:00
Jeremie Dimino
3df2cccf51
change the trick for getting type errors
...
Instead of generating "module (_ : sig end) = struct <phrase> end", we
generate "let _ () = let module _ = struct <phrase> end in ()". This
avoid type errors due to the use of first-class module inside a
functor.
2013-07-15 09:24:18 +01:00
Jeremie Dimino
e02a18b4d7
set the filename in the lexbuf
2013-07-12 12:02:18 +01:00
Jeremie Dimino
586bfbdc04
add the #typeof directive
2013-07-10 16:51:52 +01:00
Jeremie Dimino
cbc658ca41
handle LTerm_inputrc.Parse_error
2013-07-08 11:04:05 +01:00
Jeremie Dimino
589f0707c4
fix UTop.check_phrase
...
The [get_ocaml_error_message] was done after the [Btype.backtrack] in
case of error, causing the type to be displayed incorrectly.
2013-05-21 10:26:59 +01:00
Jérémie Dimino
b721aa054b
fix the split_words function in uTop.ml
2013-05-17 19:39:14 +01:00
Jeremie Dimino
c1ec47d83e
follow type aliases
2013-04-26 14:14:11 +01:00
Jeremie Dimino
c1bb8be73f
always show the box for backward search
2013-04-26 09:57:41 +01:00
Jeremie Dimino
8da5b260fa
add an option to hide the completion bar
2013-04-26 09:53:59 +01:00
Jérémie Dimino
725c6b0327
Merge pull request #8 from benkard/input-multi
...
Add multi-phrase input
2013-04-14 09:51:44 -07:00
Matthias Andreas Benkard
244c6cfe01
Apply maintainer's suggestions.
2013-04-14 13:32:04 +02:00
Jérémie Dimino
e8c1b5f8ca
change the '$' character in the prompt to '#' to match the standard
...
toplevel.
2013-04-05 17:21:50 +01:00
Matthias Andreas Benkard
022a271565
Fix a typo.
2013-04-03 22:02:56 +02:00
Matthias Andreas Benkard
4db7da7a4c
uTop_main: Handle `input-multi` commands.
2013-04-03 21:21:57 +02:00
Matthias Andreas Benkard
bef8cb8fed
Add function `parse_use_file`.
2013-04-03 21:21:52 +02:00
Jérémie Dimino
5123624b63
automatically load camlp4 when needed
2013-03-09 18:44:57 +00:00
Jeremie Dimino
ae1636cf45
added the option -show-reserved to disable [hide_reserved]
2013-02-06 17:27:09 -05:00
Jeremie Dimino
8da31fbdce
allow to hide identifiers starting with a '_'
...
Enabled by default.
2013-02-06 17:22:03 -05:00
Jeremie Dimino
77e525d17a
make sure -short-paths is the default with ocaml >= 4.01.0
2013-01-29 15:02:52 -05:00
Jeremie Dimino
b166bf9d17
added the command line option -short-paths for ocaml >= 4.01.0
2013-01-29 14:20:31 -05:00
Jeremie Dimino
9d5578d6f8
refactoring of expression rewriting
...
Ignore-this: 3713a9bc8818619cb8fa0afdc14d6a41
- factorize the code between lwt and async stuff
- handle type aliases
darcs-hash:20121015094544-c41ad-167ffe2a9f5ecb8973914e9e57b9879c09f561af
2012-10-15 11:45:44 +02:00
Jeremie Dimino
6574b1252e
remove local variables from uTop_main.ml
...
Ignore-this: fec887057546e3d42782e2fb33a18bad
darcs-hash:20121015080512-c41ad-c684ef7b334e14ab95b71b85eb827a0aee0d153a
2012-10-15 10:05:12 +02:00
anil
98421358fd
async-autorun
...
Ignore-this: d1d8552acc992f5825101d2a81d29e13
Detect statements that have an Async Deferred type and run them in a
separate thread that blocks the top-level until completed. This is
similar to the Lwt patch, except that the Deferred types may have a
few more type aliases, and must be wrapped into a unit closure.
darcs-hash:20121015060259-b29a9-51a32b2a217d3097169e5ad9ba4f222227426a79
2012-10-15 08:02:59 +02:00
wojciech.meyer
63bf082195
Add also pre-processor to file local variables in uTop_main as a proof of concept
...
Ignore-this: 930ca27ff89052f1d8d42e0f7d01fd88
darcs-hash:20120731235039-33bd9-bcc756ab753b24f1f776442a4276609e0d051e89
2012-08-01 01:50:39 +02:00
wojciech.meyer
82cccd480a
Improvements for loading packages from the file local variables
...
Ignore-this: 8795ff387135ceb2b99ff8ae7f322875
darcs-hash:20120731231800-33bd9-adf29b40d61f7f63be893a8473edb6e77863b930
2012-08-01 01:18:00 +02:00
Jeremie Dimino
51f7caafb5
adjustments for ocaml 4
...
Ignore-this: 8dcb773296b6ac7a6e83bb0b00f6697f
darcs-hash:20120615142321-c41ad-563f6c26dba5a942182e86a369167547ffbff121
2012-06-15 16:23:21 +02:00
wojciech.meyer
a2acfb5a87
Small improvement
...
Ignore-this: f8bd21d0a948e37a9697ecddcde9ed7c
darcs-hash:20120315032047-33bd9-9931fb1c2c888b42466734f89b69f2010379d2eb
2012-03-15 04:20:47 +01:00
wojciech.meyer
0b4d9c8ce3
Now it's possible to load packages defined with the file variable utop-package-list, therefore they can be loaded at startup to the toplevel. Desirable user interface has been implemented as part of it. To enable put something like:
...
Ignore-this: cd594a9e2a71feadba95000a15838d82
(add-hook 'typerex-mode-hook 'utop-setup-ocaml-buffer)
(add-hook 'hack-local-variables-hook 'utop-query-load-package-list)
in your .emacs
darcs-hash:20120315031645-33bd9-c602dacabd15aaa3a63fd3c4146e7f81f16e567d
2012-03-15 04:16:45 +01:00
wojciech.meyer
023e72933d
interactive list of packages now work in Emacs
...
Ignore-this: f5beeb274d704e63b8520b91ad33b39b
darcs-hash:20120303175448-33bd9-2fca1cf41d9a66bfcbd75262b64bc41a25774fc7
2012-03-03 18:54:48 +01:00
wojciech.meyer
f91647a254
Prelimnary support for "require:" command - in progress. Handle links in buttons
...
Ignore-this: 148a3142a2f40cc05f887cb0c53712fb
darcs-hash:20120301035606-33bd9-14ca041ed4b73a645a5251a4fff63774490d8766
2012-03-01 04:56:06 +01:00
Jeremie Dimino
5be22e37eb
handle warnings printed on stderr
...
Ignore-this: d07506d448326fd2675565215457dddc
darcs-hash:20120223140700-c41ad-6f4576a10ef6b3d3b586803e0de66e0e6d6be698
2012-02-23 15:07:00 +01:00
Jeremie Dimino
b6c3d44ac2
better support for revised syntax
...
Ignore-this: a75d11960fc1daa6c8838f0e00747333
darcs-hash:20120223105439-c41ad-1904218737a1b71fdadc159f606f5c2ca58cfed9
2012-02-23 11:54:39 +01:00
Jeremie Dimino
a196bb8802
better detection of Lwt.t values
...
Ignore-this: c1fb44905029d45646301f66bb3ca078
darcs-hash:20120222172522-c41ad-e4fb0b9b6d0245d4aa958c69bcce3969c822795a
2012-02-22 18:25:22 +01:00
Jeremie Dimino
4171f877a6
better mechanism for colorising output phrases
...
Ignore-this: 381f771be484c08c09b9aec63e20c686
darcs-hash:20120222162147-c41ad-ac49b2283e41a8ab09e5d413d7df125b0baf33e4
2012-02-22 17:21:47 +01:00
Jeremie Dimino
4fc06ba0a3
correctly lex quotations and antiquotations and do completion inside antiquotations
...
Ignore-this: 399f6b2dd65fd530e684d09cf5d57d0a
darcs-hash:20120222155931-c41ad-835a2ccf63ac1e853846972880a49d1f8ff6a236
2012-02-22 16:59:31 +01:00
Jeremie Dimino
dcdab7ac0f
handle directive errors
...
Ignore-this: f9d34b11616ac661ed173d247b41cfe1
darcs-hash:20120217105127-c41ad-c23ea68992ece18a620ae19947307497935c7fef
2012-02-17 11:51:27 +01:00
Jeremie Dimino
02e8648628
fix fix_string
...
Ignore-this: 58f31abea9193b83b24d22a659e203e4
darcs-hash:20120215204740-c41ad-b6a63ec253a8b796a82bfb8a9db0b0e098fac131
2012-02-15 21:47:40 +01:00
Jeremie Dimino
bd9d70ecfc
do not fail when the printing of a phrase contains invalid UTF-8
...
Ignore-this: 26096597481104d05c42fef1600bcc05
darcs-hash:20120215173608-c41ad-e8b59147ddc66dc91178d83ce5215bdc2491b692
2012-02-15 18:36:08 +01:00
Jeremie Dimino
057f6d81bf
add lines that contains errors to history in emacs
...
Ignore-this: 12a4a9bb9aaa6559543ec5dcfcb7bfc4
darcs-hash:20120215170433-c41ad-bfe19305a59bdd895ef47f061bee9f2f04b8893a
2012-02-15 18:04:33 +01:00
Jeremie Dimino
d2e0e79dd4
save history when receving a sighup
...
Ignore-this: 219e88bce2dafc999b6f2f73a16274bf
darcs-hash:20120215154929-c41ad-6377472357c9ff2e29abfc794ec23e988872f9d9
2012-02-15 16:49:29 +01:00
Jeremie Dimino
6aeb61432a
save history before killing the emacs buffer
...
Ignore-this: 165539f1b3cc25e7bbfe51c29c378798
darcs-hash:20120213145725-c41ad-5c47d1977067310ba024249b47b8251ff1b10ee9
2012-02-13 15:57:25 +01:00
Jeremie Dimino
12dd581b99
allow to gracefully quit utop in emacs
...
Ignore-this: 3360f5c57bfb97f64d4f4509901ea0cd
darcs-hash:20120213092110-c41ad-88847c98d4a92479772b02d4fe88cdfa85fad9b6
2012-02-13 10:21:10 +01:00
Jeremie Dimino
3fe28723e2
use the real history in emacs
...
Ignore-this: 2ec438176bdf1549eb2b7c6c8f3f5e50
darcs-hash:20120212204029-c41ad-c5e71ad6e8d290b0c7e19994e3ba46879b38089d
2012-02-12 21:40:29 +01:00
Jeremie Dimino
8725e10070
more history settings
...
Ignore-this: d048fb6bc7cc235fdc4ea6c75d4525a4
darcs-hash:20120212193712-c41ad-96b5f2057ff55811cdd90a8e8ae2be3e4af3d4d3
2012-02-12 20:37:12 +01:00
Jeremie Dimino
361d6459f6
use the new history system
...
Ignore-this: 3a1d9830d09215b8c34ac97ee79fd97d
darcs-hash:20120212190432-c41ad-865dd5a514e2a3175f6c5412f54567fb7861638c
2012-02-12 20:04:32 +01:00
Jeremie Dimino
c29eaa9f99
do not fail in completion when a compiled interface do not match
...
Ignore-this: 46faaa2093d746bbbc1ab51a050e8b23
darcs-hash:20120211104110-c41ad-711b0267780ea9ce6ae8a00e9e5548c51a34fac3
2012-02-11 11:41:10 +01:00
Jeremie Dimino
4a43491f55
next gen utop
...
Ignore-this: c0e7aa3db012df3af520003d99403929
- reimplement the toplevel loop without using the standard one
- handle ocaml parsing/typing/compilation error messages to correctly
highlight error locations in the console and in emacs
- detect incomplete input and don't try to evaluate it
- automatically run with Lwt_main.run values with type _ Lwt.t
- colorize values
darcs-hash:20120211092107-c41ad-de115ed1ec0806b4261a3182f58fb2498e040d9d
2012-02-11 10:21:07 +01:00