Commit Graph

165 Commits

Author SHA1 Message Date
Jeremie Dimino eff7153821 fix compatibility with 4.03 2016-03-02 17:46:55 +00:00
Jeremie Dimino 5bfd1ba632 setup directories properly 2016-02-24 11:08:20 +00:00
Jeremie Dimino c816baf8fb register missing compiler error printer 2016-02-24 11:03:51 +00:00
Jeremie Dimino a51d79079a handle errors in UTop_main.interact 2016-02-24 10:46:18 +00:00
Jeremie Dimino 05a0816d95 make UTop_main.interact work and add an example 2016-02-23 11:27:22 +00:00
Jeremie Dimino fa05edcc93 first try at UTop_main.interact 2016-02-23 11:06:52 +00:00
Jérémie Dimino fd7c663264 #156: start of support for quoted strings 2016-02-04 08:06:11 +00:00
Jeremie Dimino b63e0f9225 fallback to latin-1 instead of escaping with \yHH
Fixes #155
2016-02-01 08:55:17 +00:00
Jeremie Dimino 9e41bf85da Better check for async rewrite
Resolve the types Async.Std.Deferred.t instead of hard-coding a list
of aliases.

Fix #137
2016-01-07 10:30:53 +00:00
Jeremie Dimino e608977856 add a `#pwd` directive
Closes #149
2015-11-23 12:48:27 +00:00
Jeremie Dimino 0003236802 attempt at fixing #141 2015-11-02 15:10:51 +00:00
Jeremie Dimino c41969dc62 allow to configure the external editor 2015-10-29 10:07:28 +00:00
Jeremie Dimino 8d104762ce set temporary file for external editor 2015-10-29 09:55:31 +00:00
Jeremie Dimino 2a8762c0f7 update definition of Deferred.t
It is now Async_kernel.Deferred0.t.

Fixes #137
2015-08-17 10:19:49 +01:00
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