Skip to content
nbros edited this page Dec 24, 2013 · 1 revision

Integrate new Ocaml tooling

  • merlin for type hovers, completion, real-time error feedback, outline
  • ocp-indent for indenting ocaml code
  • ocp-build for building ocaml code (faster than ocamlbuild and works on Windows!)
  • automatic -bin-annot: export OCAMLPARAM="_,bin-annot=1" (would ensure syntax tools are always available, option checked by default)
  • maybe ocp-index to index ocamldoc for adding to completion and hover help (unless merlin adds it)
    • see also bin-doc (which is part of opam-doc)

Syntax services

  • mark occurrences (opened merlin feature request)
  • rename refactoring
  • code folding (based on boundaries returned by merlin?)
  • semantic highlighting
  • provide a search dialog for OCaml types (like JDT "Navigate > Open Type...")

TODO

  • add a UI for switching easily between several tools configurations (OCaml paths)
  • display a warning in the editor when modifying a file under _build (because it will be overwritten by ocamlbuild at the next build), and possibly make it read-only
  • display a warning if no annot file is found after compiling, prompting the user to add "-annot" to the compiler's command line
  • debugger improvements (see forum) :
  • store project build settings in a ".build" file under the project instead of in metadata
  • linked mode in editor for automatic brackets
  • use a workspace change listener to trigger the parser (instead of testing each file's date for modification)
  • tasks markers in Tasks view (TODO, FIXME, etc.)
  • better auto-edit strategies : unindent automatically when expected
  • rename plug-in's java package (maybe org.ocaide.*)
  • syntax coloring in the toplevel
  • completion in the toplevel
  • write a better OCaml compiler output parser (errors, warnings), maybe with an extension point to plug-in custom compiler output parsers
  • open a definition in a source editor from the modules explorer
  • allow interrupting the toplevel on Windows (JNI code?)
  • integrate OUnit for unit testing, with a dedicated view like the JUnit view in JDT
  • make 2 distinct icons for the main and debug OCaml perspectives (useful when "Show Text" is disabled)
  • show error/warnings markers also on parent folders recursively in the Navigator view
  • integrate profiler : ocamlprof and maybe gprof for time-profiling
  • syntax coloring in compare editor

maybe

  • improve the managed projects build or replace by ocp-build?
  • display state of syntax information on editor tab (so that the user knows why some IDE services sometimes don't work as expected)
    • red when no syntax information is available
    • orange/yellow when some syntax information is available but stale
    • green when syntax information is up to date with the current buffer
  • extension point to add custom syntax coloring corresponding to Camlp4 extensions
Clone this wiki locally