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
Martin Trojer
3fdec164a8
better boiler plate
2014-03-07 21:47:37 +00:00
Martin Trojer
7290a63513
some boilerplate so utop.el can go up on melpa ( http://melpa.milkbox.net/ )
2014-03-07 14:59:29 +00: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
cb2711067f
emacs-mode: [tab] --> (kbd "TAB")
...
fixes #54
2014-01-17 09:17:53 +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
bc85016584
fix #38
...
Handle errors from custom camlp4 ast filters
2013-11-20 09:41:06 +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
c9e89f0079
Emacs: Enable the use of multi-phrase input on startup.
2013-04-14 14:01:40 +02: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
9deca3da21
`input-multi`: Fix error highlighting.
2013-04-03 22:53:12 +02:00
Matthias Andreas Benkard
3c10f874bc
Support the `input-multi` command on the Emacs side.
2013-04-03 22:03:18 +02: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
7e7116ca9d
fix detection of eof reaching when using camlp4
2013-03-09 19:15:14 +00: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
ee65d72abd
Showing type of an identifier at point
...
Ignore-this: 40b69923375d0ccdf6b1a98891b1bca6
darcs-hash:20120801020653-33bd9-7e0a38b19718bfe0965d9570388f9f5cb74dda48
2012-08-01 04:06:53 +02:00
wojciech.meyer
354b6d774a
Allow C-j to eval with auto-end
...
Ignore-this: 8cd09eabbc6b9d5483a5aa380e2cb278
darcs-hash:20120801001337-33bd9-a5d76dab972820c41fc2beb40818a98013f111c6
2012-08-01 02:13:37 +02:00
wojciech.meyer
718fb69db1
Print only OCaml preprocessor message loaded if it was really loaded
...
Ignore-this: b96ea788d929cf7dbb853adfa59e4213
darcs-hash:20120731235343-33bd9-711df107c2b3b4580c0c37fe8271e732a4caeada
2012-08-01 01:53:43 +02:00
wojciech.meyer
e4796c8e51
car $ cdr -> cadr
...
Ignore-this: 2b5aa46e42282ee30710daaf8d735116
darcs-hash:20120731235124-33bd9-9fd2bf3a358e2ed54eac23aaa56df50ece816004
2012-08-01 01:51:24 +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
272f6f5c29
utop-ocaml-preprocessor - allow loading also pre-procesor from local file variables
...
Ignore-this: 50e32972f422612675d47fd9ce33fc43
darcs-hash:20120731234941-33bd9-16a892de7fff014771091a9a138380d665bdadd9
2012-08-01 01:49:41 +02:00
wojciech.meyer
5a47685bfb
Factor out code to utop-eval-string
...
Ignore-this: 42d0ac92ee18eb0a7865743fe5058a5c
darcs-hash:20120731234841-33bd9-68f9230ddc9e8f41b48efa62dd9d048f2ae506d4
2012-08-01 01:48:41 +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
2691c736ef
allow to complete text in a tuareg buffer using the toplevel environment
...
Ignore-this: cdb99a49351689dc70386cf39083709
darcs-hash:20120716154000-c41ad-eac5e3f59960f62c93e1cf27f8e1ce982d9f9b95
2012-07-16 17:40:00 +02:00
Jeremie Dimino
0d5e593728
add support the caml-mode
...
Ignore-this: b691ce8780c5d177ab69d0f00b521e5c
darcs-hash:20120716151404-c41ad-658717281b5b9ce73a0e5ac9cc219d700d8aee2a
2012-07-16 17:14:04 +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
Jeremie Dimino
d74d29278d
escape parentheses at beginning of lines in strings in .el files
...
Ignore-this: f8adf18e5730136895bd607cc270ef43
It seems to confuse the emacs syntax highlighter...
darcs-hash:20120323193634-c41ad-fcb6a026bc31ae4fd3b6148af46744e51a82b86f
2012-03-23 20:36:34 +01:00
Jeremie Dimino
cfb648c2e1
decide whether to follow output in each windows instead of globally
...
Ignore-this: 36cd9d3b8cd1a4c41284ea8d0731506f
darcs-hash:20120322065232-c41ad-218be51b177171f6640703e504599079d8c10006
2012-03-22 07:52:32 +01:00
Jeremie Dimino
8d8f46c8b6
follow OCaml's output only if we are at the end of the buffer
...
Ignore-this: 739f69390b4952091f481cc8dfb3e144
darcs-hash:20120322064548-c41ad-a3383dfe0bfa362d15c06949cbf5c9b44c5a82d1
2012-03-22 07:45:48 +01:00
Jeremie Dimino
0fbf0ff84b
fix utop-eval-input with allow-incomplete=t when the point is before the prompt
...
Ignore-this: a3dc2b3421588911f2770105081a8355
darcs-hash:20120321231655-c41ad-166ae6880230aa1f4d4eb616d221622523081c99
2012-03-22 00:16:55 +01:00
wojciech.meyer
11cf629c46
Basic functionality is almost there, however still plenty to make it production quality. In this changeset I regenerated setup.ml via. oasis 3 so it contains a huge diff.
...
Ignore-this: 357d4c82baa1ecdf5c49bf65459059e9
darcs-hash:20120321031530-33bd9-43e454ae62709103edfb0208e7ab95a5319ae93a
2012-03-21 04:15:30 +01:00