Releases: ocamllabs/vscode-ocaml-platform
1.9.0
-
Dune syntax highlighting fix (#742)
The syntax for dune files has been re-written from scratch for a more correct
implementation. Every dune stanza documented by Dune is now supported, and
only the correct fields in each stanza are recognized. -
Fix the detection of opam's root directory when no switch is detected (#831)
-
Add support for opening compilation artifacts in human-readable form in the
editor (#798)Currently supported artifacts include
.cmi
,.cmt(i)
,.cmo
,.cma
,
.cmx(a/s)
, and.bc
files.To learn more about these files, see: https://ocaml.org/manual/comp.html
-
Warn if the extension sees not the latest OCaml-LSP version compatible with
the OCaml distribution installed in the current sandbox. -
Highlighted the UNREACHABLE element in cram .t files (#754)
-
Activate extension on cram files, or when the workspace contains
dune-workspace or dune files. (#750) -
Add commands
Jump to Next Typed Hole
(shortcut:Alt + L
) and
Jump to Previous Typed Hole
(shortcut:Alt + Shift + L
)What typed holes are
Merlin has a concept of "typed holes" that are syntactically represented as
_
. Files that incorporate typed holes are not considered valid OCaml, but
Merlin and OCaml-LSP support them. One example when such typed holes can occur
is when one "destructs" a value, e.g., destructing(Some 1)
will generate
codematch Some 1 with Some _ -> _ | None -> _
. While the first underscore
is a valid "match-all"/wildcard pattern, the rest of underscores are typed
holes that one needs to replace with valid OCaml code. These new commands help
to navigate easily from one hole to another (#643) -
Rename the extension's section in VS Code Settings from
OCaml configuration
toOCaml Platform
(#674) -
Add
ocaml.server.extraEnv
configuration option to pass extra environment
variables to the language server, i.e., OCaml-LSP (#674) -
Parsetree exploration and development tools. It is now possible to explore the
structure of the parsetree in a custom editor. Additionally, it is possible to
view preprocessed source of any OCaml source file (when applicable). Full
functionality is available only for dune projects. (#666) -
Add commands
Show OCaml Language Server Output
,
Show OCaml Platform Extension Output
, andShow OCaml Commands Output
.
(#745) -
Fix highlighting of escaped odoc source code braces (#690)
-
opam exec
is now called with--set-switch
flag; this is useful when we
launch a terminal within a certain sandbox set in the extension (#744, fixes
#655) -
The currently active OPAM switch in the workspace folder (project root) is
shown first in the list of sandboxes when selecting a sandbox. (#751) -
Show a different icon for the currently active OPAM switch in the "OPAM
Switches" tree view (#751)
v1.8.4
- Fix inclusion of files in extension package
v1.8.3
v1.8.2
v1.8.1
v1.8.0
-
Highlight OCaml source code inside Cinaps comments (#547)
-
Show the output of shell commands in an output channel. The output channel is
automatically focused when running a package management command from the OCaml
activity tab (#541) -
Fix highlighting of float literals with a trailing decimal point (#548)
-
Ask for confirmation when removing opam packages or switches (#551)
v1.7.0
-
Fixed an issue when uninstalled Opam packages still appear in the
roots
field of Opam'sswitch-state
file (#517) -
Fixed detection of local Opam switch on Windows (#518)
-
vscode-ocaml-platform
now depends onocaml-lsp-server.1.3.0
-
Add a command to open a Utop REPL in the current sandbox (#504)
-
Add a code evaluation command that sends selected expressions to the REPL
(#504) -
Install OCaml Platform tools automatically (#463)
The platform tools (a.k.a toolchain) are installed in a private opam switch
that should only be used byvscode-ocaml-platform
.
v1.6.0
-
Highlight token aliases in Menhir associativity declarations (#473)
-
Activate the extension when workspace contains OCaml, Reason sources or
project marker files. (#482) -
Add
ocaml.useOcamlEnv
setting to determine whether to useocaml-env
for
opam commands from OCaml for Windows (#481) -
Fix terminal creation when using default shell and arguments (#484)
-
Add an OCaml activity tab (#486)
The activity tab provides three views: the available switches, the build
commands and an Help and Feedback section with links to community channels. -
Support
eliom
andeliomi
file extensions (#487) -
Fix ocaml/ocaml-lsp#358: automatic insertion of an inferred interface was
inserting code incorrectly on the second switch to the newly created (unsaved)
mli
file. If the newmli
file isn't empty, we don't insert inferred
interface (#498)
v1.5.1
-
Improve highlighting of type parameters and
module type of
(#461) -
Fix highlighting of escaped character literals (#467)
-
Fix highlighting of comments that contain strings with escaped quotes (#469)
-
Initialize extension even if language server fails to start (#471)
-
Detection of local Opam and Esy sandboxes (#445)
The detection will prioritize Opam local switches, then Esy sandboxes (that
are detected with the directory_esy
), and will fallback to the global
environment sandbox if none of these are found.
v1.5.0
- Highlight
rec
keyword in OCaml mli files for recursive modules (#434) - Highlight
cram
stanza in dune-project files (#441) - Fix reason highlighting of let extensions (#447)
- Improve highlighting of Menhir new syntax (#450)
- Improve Menhir syntax highlighting (#455)
- Add
Alt + P
keyboard shortcut for infer interface code action (#448) - Infer interface when switching to a non-existing interface file (#437)