Skip to content

Releases: ocamllabs/vscode-ocaml-platform

1.9.0

15 Feb 02:47
Compare
Choose a tag to compare
  • 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
    code match 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
    to OCaml 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, and Show 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

02 May 23:23
Compare
Choose a tag to compare
  • Fix inclusion of files in extension package

v1.8.3

02 May 22:52
Compare
Choose a tag to compare
  • Fix showing error message if ocaml-lsp is missing (#586)

v1.8.2

25 Mar 18:46
Compare
Choose a tag to compare
  • Fix switching between implementation/interface (#561)

  • Stop automatically highlighting suffixed META files (#565)

v1.8.1

09 Mar 18:30
Compare
Choose a tag to compare
  • Revert automatic installation of platform tools

    The feature is not flexible enough and caused issues with multiple users. We
    will work on making it more flexible and fit more workflows before releasing
    it.

v1.8.0

08 Mar 04:42
Compare
Choose a tag to compare
  • 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

07 Mar 18:19
Compare
Choose a tag to compare
  • Fixed an issue when uninstalled Opam packages still appear in the roots
    field of Opam's switch-state file (#517)

  • Fixed detection of local Opam switch on Windows (#518)

  • vscode-ocaml-platform now depends on ocaml-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 by vscode-ocaml-platform.

v1.6.0

25 Jan 23:27
Compare
Choose a tag to compare
  • 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 use ocaml-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 and eliomi 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 new mli file isn't empty, we don't insert inferred
    interface (#498)

v1.5.1

06 Jan 19:39
Compare
Choose a tag to compare
  • 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

28 Nov 23:24
Compare
Choose a tag to compare
  • 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)