Kate
560617c64f
Add support for OCaml 4.14
2021-11-18 10:10:53 -05:00
Christian Pellegrin
ec469bb839
Fix emacs completion returning bogus candidates.
...
In standalone mode, utop returns all the possible completions when no
one matches what the user has typed. This is surprising in emacs
because of the different UI/UX. For this reason, we keep a list of
prefixes for which completion has started and return only the
candidates which match the prefixes.
Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
2021-06-07 12:40:48 -07:00
Kate
82fe82dad0
Update the OCaml 4.13 compatibility after the merge of ocaml/ocaml#10252
2021-06-02 19:20:59 +01:00
Kate
9fe8b5d838
Get rid of deprecated functions in OCaml 4.13
2021-05-25 21:00:33 +01:00
Kate
300dd7e562
Add support for OCaml 4.13
2021-05-25 20:24:59 +01:00
Rudi Grinberg
711c24661c
Merge pull request #338 from hyphenrf/patch-1
2021-04-08 08:00:44 -07:00
Christian Pellegrin
243f7a1536
Fix color highlight for errors.
...
The output from the compiler changed and now mentions the line number
(non only the charters, which actually becomes columns). This patch
introduces the idea of a range of lines spanned by an error and
correctly marks the faulty region.
I think a better solution would be to introduce a "point" record of
the form {line:int;column:int}. However, such a change would
reverberate through all the source code and so it is much more
invasive. I can prepare such a patch if desired, after this one, which
fixes the regression.
2021-04-05 08:56:50 +01:00
Rudi Grinberg
1660e5989a
Merge pull request #347 from dansanduleac/patch-1
...
Utop correctly restarts when (not utop-edit-command)
2021-04-03 20:18:13 -07:00
Rudi Grinberg
b2f15bff67
Merge pull request #340 from leungbk/byte-comp
...
utop.el: Placate byte-compiler
2021-04-03 20:13:38 -07:00
Brian Leung
e5059d2e2f
utop.el: Fix utop-tuareg-next-phrase for newer tuareg.el
...
tuareg--after-double-colon no longer exists in the latest rev of
Tuareg, which has received 110 additional commits since the last
release version on OPAM, so inline the old definition, which was
removed in commit 91ba1d6143558092a3920e9b5c49755c0c86caed of Tuareg.
tuareg--skip-double-colon was renamed to
tuareg--skip-double-semicolon, and also received a slight change.
Inline that as well since it's a private function.
2021-04-03 21:24:20 -04:00
Florian Angeletti
ac9c21cfcf
exit with the right exit status
...
With OCaml 4.12.0 and later, the toplevel use the Compenv.Exit_with_status
exception to communicate when and with which status we should exit.
2021-04-03 14:38:14 -04:00
Haz
ee030bab0b
Use lambdaterm resources for home path instead of sys
...
Co-authored-by: Fabian <copy@copy.sh>
2021-03-31 09:47:39 +02:00
Dan Sănduleac
ba44fc9cc2
Utop correctly restarts when (not utop-edit-command)
...
## Problem
If `utop-edit-command` is nil, then `utop-query-arguments` returns nil.
This breaks `utop-restart` which relies upon it returning the right arguments.
## Solution
`utop-query-arguments` always returns `(utop-arguments)` whether it sets the utop-command or not.
2021-03-18 11:31:49 +00:00
Brian Leung
71faa5fb62
utop.el: Placate byte-compiler
2020-11-08 11:36:12 -08:00
Etienne Millon
e31656e725
Fix build on 4.12
...
On 4.12, `Typemod.type_structure` does not take a location argument
anymore (see ocaml/ocaml#9974 ). This fixes the build with the 4.12
branch.
2020-10-30 16:22:14 +01:00
Haz
251228d677
Make sure we're not at $HOME before sourcing local .ocamlinit
...
(fixes: Github #333 )
2020-09-21 22:23:36 +00:00
ZAN DoYe
c0109a6da6
Vi edit mode: cross phrase register support
2020-05-30 09:27:14 +08:00
ZAN DoYe
952f97a460
compatible with 4.11
...
* use the exposed parser to parse longident
2020-05-12 08:45:24 +08:00
Kate
1da1f64765
Fix warnings with OCaml 4.11
2020-05-09 09:38:47 +08:00
ZAN DoYe
cea5509294
add #edit_mode_default #edit_mode_vi directives
2020-04-25 23:40:41 +08:00
ZAN DoYe
fd5bd4f665
UTop_main: support lambda-term 3.0
2020-04-25 23:40:41 +08:00
ZAN DoYe
692b92794d
make the #use_output directive compatible with ocaml >= 4.02
2020-03-25 19:38:17 +08:00
Jeremie Dimino
3f735497d9
Backport the #use_output directive from OCaml 4.11
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2020-03-25 19:38:17 +08:00
Fabian
712678f959
Update docs to refer to .config/utop/init.ml
2020-03-18 11:01:23 +08:00
Fabian
53813ef663
Load init file from .config/utop/init.ml as per XDG conventions ( fix #144 )
2020-03-18 11:01:23 +08:00
ZAN DoYe
0b37fd0de8
clean up
2019-12-12 17:02:57 +08:00
ZAN DoYe
5ca427f2d2
compatible with 4.10
2019-12-12 17:02:57 +08:00
Florian Angeletti
a4896483bd
4.09: Replace TypedtreeIter with Tast_iterator
2019-09-16 14:30:29 +02:00
Florian Angeletti
d8248687a3
4.09: caml_sys_modify_arg rather than Obj.truncate
2019-09-16 14:28:38 +02:00
Florian Angeletti
0debad9aaf
4.09: use Persistent_env
2019-09-16 14:28:08 +02:00
ZAN DoYe
9da0951274
remove more camlp4 remnants
2019-07-16 15:08:51 -04:00
Mitchell Plamann
7bd35e08ae
Remove now-broken elisp that depends on utop-ocaml-preprocessor
2019-07-15 14:36:03 -04:00
Anton Kochkov
ca00ce6146
Remove camlp4 remnants
2019-07-09 11:55:13 -04:00
Hongchang Wu
a589d5caee
Fix typo: mode -> modes
2019-06-15 17:32:37 +08:00
Jeremie Dimino
7e8567682d
Allow to statically link utop
...
Fixes #285
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2019-06-06 13:32:57 +01:00
ZAN DoYe
a07156ca80
compatible with 4.03: unattached doc comment
2019-05-27 13:49:48 +08:00
ZAN DoYe
55ff32027c
remove outdated doc comment
2019-05-27 13:49:48 +08:00
ZAN DoYe
928bba9896
add get_load_path and set_load_path
2019-05-27 13:49:48 +08:00
ZAN DoYe
97224e635f
remove aux code
2019-05-27 13:49:48 +08:00
ZAN DoYe
ad510daa99
compatible with 4.08
2019-05-27 13:49:48 +08:00
ZAN DoYe
3b1f930dfb
follow the api changes of Zed_string.ends_with
2019-05-17 12:01:04 +08:00
ZAN DoYe
da0fa23a05
Utop_lexer: to keep semantic consistent with the ocaml compiler, we now consider a combined double-quote to be a legal mark to start a string
2019-05-15 01:11:58 +08:00
ZAN DoYe
1ae50d3201
UTop_lexer: support editing, displaying malformed Zed_char (start with combining marks)
2019-05-15 01:11:58 +08:00
ZAN DoYe
99f28d9f17
UTop_lexer: support combined glyph for more kind of token, Symbol, Ident, Blanks, Literals...
2019-05-15 01:11:58 +08:00
ZAN DoYe
dd1f834985
UTop_lexer: support combined glyph
2019-05-15 01:11:58 +08:00
ZAN DoYe
fa6f1ee90f
follow the changes of LTerm_history, perf regression fixed
2019-05-15 01:11:58 +08:00
ZAN DoYe
7df33e500a
depend on new zed and lambda-term
2019-05-15 01:11:58 +08:00
Dmitry Bely
5637c67a7c
Correct quoting for Windows command shell ( #272 )
2019-04-23 07:48:21 +01:00
Jeremie Dimino
4e9b9d1c66
Fix compat with 403
...
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2019-01-24 12:12:26 -05:00
Jeremie Dimino
fa3880d2a2
Automatically install printers marked with [@@ocaml.toplevel_printer]
...
Scan newly loaded cmi files for values marked with the
[@@ocaml.toplevel_printer] attribute and automatically install them as
toplevel printers.
2019-01-24 12:12:26 -05:00
Anil Madhavapeddy
3212401775
fix or suppress some warnings in dune dev build mode
2019-01-15 09:50:54 +00:00
Anil Madhavapeddy
641af3fd63
port build from jbuilder to dune
2019-01-15 09:50:54 +00:00
Mario Rodas
ea38850e60
Company backend only complete on utop buffers
2018-10-10 17:55:03 -04:00
Anton Kochkov
53db99356e
Env.Env_copy_types should work also on OCaml 4.06
2018-08-31 11:35:51 -04:00
ncihnegn
cf8e423f58
Replace deprecated CamomileLibraryDyn with CamomileLibraryDefault for camomile >= 1.0.0
2018-08-29 18:46:43 +01:00
ncihnegn
098d2f854b
Replace deprecated String.capitalize with String.capitalize_ascii
2018-08-29 18:46:43 +01:00
ncihnegn
9dcb51fea8
Replace deprecated String.lowercase with String.lowercase_ascii
2018-08-29 18:46:43 +01:00
ncihnegn
239e6aad95
Replace deprecated Lwt_sequence with LTerm_dlist
2018-08-29 18:46:43 +01:00
Guillaume Petiot
081e49d882
Make more functions tail-recursive, and use tail-rec List functions ( #251 )
2018-08-23 17:53:07 +01:00
sliquister
601973c953
Clflags.include_dirs is expected to hold unexpanded directories ( #242 )
2018-07-09 10:28:08 +01:00
Wilfred Hughes
2d358b2d9c
Fix utop-eval-phrase on recent tuareg-mode
...
tuareg-next-phrase was moved to tuareg_indent.el in
ocaml/tuareg@b40e733c1 and removed entirely in
ocaml/tuareg@b2ad75f3d5 (September 2017).
As a result, utop-eval-phrase crashes due to the missing function.
Instead, write a small function to move to the next phrase, similar to
the movement logic in tuareg-eval-phrase.
2018-07-06 21:02:29 +01:00
Hezekiah M. Carty
0bee8c9297
Minimal update to make utop build on OCaml 4.07.0+rc1 ( #238 )
2018-06-23 00:05:49 +01:00
Rudi Grinberg
90bd622f85
Don't discard line if the protocol-version isn't matched
2018-02-28 16:59:04 +07:00
Rudi Grinberg
e65468882b
Add version detection based on utop printing protocol-version
2018-02-28 16:28:35 +07:00
Rudi Grinberg
c36f20bf12
Print protocol-version in emacs mode
2018-02-28 16:26:19 +07:00
Rudi Grinberg
27ae188261
Replace while loops with dolist
2018-02-27 01:38:12 +07:00
Rudi Grinberg
49de3344f7
Make company completion conditional
2018-02-27 00:50:42 +07:00
Rudi Grinberg
1f295f49da
Add support for detecting utop version
2018-02-27 00:42:01 +07:00
Rudi Grinberg
1f3a5d66ef
Company backend for utop completion
2018-02-26 22:30:00 +07:00
Rudi Grinberg
730a8aeac1
Merge pull request #216 from rgrinberg/dev
...
Emacs mode renovation
2018-02-26 22:29:27 +07:00
Rudi Grinberg
fe8b2b8aae
Prefix unused argument with _
2018-02-26 22:23:00 +07:00
Rudi Grinberg
e1e589b5ea
fix cond default clause
2018-02-26 22:23:00 +07:00
Rudi Grinberg
f54d1291b1
enable lexical scoping
2018-02-26 22:23:00 +07:00
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