Commit Graph

337 Commits

Author SHA1 Message Date
Rudi Grinberg 4aafcfbbe7 remove tabuluated-list compatibility
the package already requires emacs 24, there's no need for this shim.
2018-02-26 22:23:00 +07:00
Rudi Grinberg afca031099 refactor utop-set-state, utop-cannot-edit, utop-process-line
Make them all use pcase and and gets rid of some duplicate code in the process
2018-02-26 22:23:00 +07:00
Rudi Grinberg e838896e53 Use pcase in utop-compat-resolve
Simpler than cond (and pcase is available since emacs 24)
2018-02-26 22:23:00 +07:00
Rudi Grinberg 14c2282449 fix indentation
no semantic changes here
2018-02-26 22:23:00 +07:00
Rudi Grinberg b46cf690a7 fix docstring of utop-compat-resolve
It forgot to mention the recently supported reason mode
2018-02-26 22:23:00 +07:00
tuncer 262539ae26 Fix utop -vnum (#231)
The handler for 'utop -vnum' failed to terminate after printing the
version number.
2018-02-26 12:34:37 +00:00
Rudi Grinberg 89c3355a2b Naive fix for 4.06.0 2017-11-06 18:45:27 +08:00
Rudi Grinberg 39d18c9541 Enable -safe-string everywhere
Useful for testing on OCaml < 4.06.0
2017-11-06 18:33:48 +08:00
Jeremie Dimino 202917d9d3 Resurect UTop_main.interact 2017-05-26 15:26:27 +01:00
Jeremie Dimino 1497232d4e findlib_top --> findlib.top, topkg setup 2017-05-26 14:33:20 +01:00
Andrea Richiardi ea49d8e947 Add support for Reason
Include the necessary hooks for phrase detection in Reason.
2017-05-09 07:43:46 +01:00
Jérémie Dimino fa27469e60 typo 2017-05-04 17:55:47 +01:00
Fabian 8ed78f2e39 Add command line option to enable implicitly generated bindings 2017-04-28 09:25:39 +01:00
Fabian 1639367765 Bind expressions to _0, _1, etc. (#161, #193) 2017-04-28 09:25:39 +01:00
Jérémie Dimino e0b4e635c7 Fix #205 2017-04-26 08:41:43 +01:00
Andrea Richiardi d9f198899b Refactor hooks for better handling of phrase eval, closes #201.
The patch tries to improve on the current way of evaluating a phrase and
skipping to the next. It removes both `utop-skip-to-end-of-phrase` and
`utop-skip-blank-and-comments`, but adds `utop-next-phrase-beginning`.
We assume `utop-discover-phrase` is always returning the end position as
at end of a `;;`. Thereafter we use `utop-next-phrase-beginning` to skip
to the next phase if `utop-skip-after-eval-phrase` is non-nil.
2017-04-24 07:54:13 +01:00
Deokhwan Kim 644278311d Simplify #if directives
UTop does not support OCaml < 4.02 anymore.
2017-04-20 13:55:08 +01:00
Deokhwan Kim 5e419e3f82 Run ppx preprocessors for both "input" and "input-multi" commands
Fix #192
2017-04-20 11:03:27 +01:00
Jeremie Dimino a71455b2fd Fix directive name 2017-04-11 17:36:56 +01:00
Fabian 4661944155 Add #utop_stash and #utop_save
- Strip colour terminal escapes from errors
- Store inputs and outputs seperately in UTop_history
- Add #utop_save, which prints inputs and outputs similar to a simple
  prompt
2017-04-11 17:31:58 +01:00
chrismamo1 6b8c78de58 stashing rebased (by chrismamo1) 2017-04-11 17:31:58 +01:00
Jeremie Dimino f5ee983845 Link the toplevel with -linkall 2017-04-10 18:13:54 +01:00
Jeremie Dimino 4abe1ca311 Topfind.don't_load --> Topfind.don't_load_deeply
Since we don't use `ocamlfind ocamlmktop` anymore
2017-04-10 18:13:32 +01:00
Richard Bonichon f64e9d2e78 Replace handwritten ppf with Format.formatter_of_buffer call
- Behavior is identical
- Makes utop forward compatible with merged PR 595 of ocaml trunk
2017-04-05 13:34:41 +01:00
Jeremie Dimino 2f64eb4785 restore expunge 2017-04-04 13:36:28 +01:00
Jérémie Dimino eae41f42a6 Removed camlp4/camlp5 2017-04-04 13:36:28 +01:00
Jérémie Dimino ba3d278b32 Switch to jbuilder 2017-04-04 13:36:28 +01:00
Fabian f2015062fa Mention #help in #utop_help (#190) 2016-11-16 07:47:24 +00:00
Leonid Rozenberg 7dcdfaa6a9 Tab complete mod_use directives. 2016-10-07 12:14:58 -04:00
Jeremie Dimino c6f3647a45 fix build on 4.02 2016-08-15 10:20:41 +01:00
Jeremie Dimino f630fa0afc fix conditional 2016-08-15 10:06:33 +01:00
Jeremie Dimino d888ee5ba9 Fix 4.04 compatibility
Closes #173
2016-08-15 09:32:20 +01:00
Jared Forsyth 61bfe67bfb typo 2016-07-01 07:26:50 -06:00
Jeremie Dimino 57f8ac4437 make ppx_tools dependency optional 2016-04-25 10:57:01 +01:00
whitequark 80f4b60058 Update for Asttypes.arg_label changes in 4.03.
This is required for utop to compile on 4.03.0+beta2.
2016-04-11 20:05:02 +00:00
Jeremie Dimino 35c740c312 fix 4.01 compatibility 2016-04-08 09:52:11 +01:00
Jeremie Dimino 8d12d48d32 cut search for UTop_main.interact to avoid loops 2016-03-11 16:37:46 +00:00
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
Syohei YOSHIDA 5c58afb3de Fix non-exist function
Emacs does not have 'replace-in-string' function.
2015-11-05 19:32:03 +09: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 a721d13082 update error message for utop-setup-ocaml-buffer 2015-08-06 10:58:42 +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
Jeremie Dimino 0a386c3fb8 use simpler emacs features for utop-compat-resolve
Some people have complained about this in the past IIRC.
2015-01-12 09:56:50 +00:00
Jeremie Dimino 1fa1b1f0b3 simplify utop-compat-resolve
No need to try loading one of the major mode as utop-mode is now a
minor mode and has to be used in conjunction with the current major
mode of the buffer.
2015-01-12 09:36:54 +00:00
Mads Hartmann Jensen 6e7314861e Code review by @diml
- Changed default key-binding for utop to C-c C-s to match tuareg
  default
- Add some compatibility functions to make the transition easier for
  existing users
2015-01-11 13:20:03 +01:00
Mads Hartmann Jensen ff3a379c5b Use autoload cookies 2015-01-02 13:06:48 +01:00
Mads Hartmann Jensen 1290b09521 A step closer to not relying on other major mode's variables 2015-01-02 12:11:02 +01:00
Mads Hartmann Jensen 3c958ebf2e Use minor mode rather than overriding variables at runtime 2015-01-02 11:44:08 +01: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
Jérémie Dimino b7259ae286 Merge pull request #111 from mads379/master
#108 Enable utop-command to be buffer-local
2014-11-05 11:59:39 +01:00
Mads Hartmann Jensen 137151cca9 #108 Enable utop-command to be buffer-local 2014-11-04 17:44:28 +01: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
Mads Hartmann Jensen 064d874e61 Prettier fix for closing completion buffer 2014-08-21 22:35:26 +02:00
Mads Hartmann Jensen 081a10dadd Close *Completions* buffer after evaluation
This is a quick fix for #84. There might be a better place in the
code for the fix but this certainly does the trick.
2014-08-21 19:06:08 +02: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 5be7134436 silence camlp4 2014-04-24 09:11:19 +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