Skip to content

0.4.0

Compare
Choose a tag to compare
@mfussenegger mfussenegger released this 11 Jan 14:44
· 194 commits to master since this release
0.4.0

What's Changed

General

  • Dropped support for Neovim 0.6.x
  • Removed deprecated functions from dap.utils
  • Exception breakpoint information is now reported via the vim.diagnostic
    interface instead of writing the information to the REPL.
  • Continue and step functions can now be called with a count to execute
    multiple steps or continue several times automatically.
  • Changed the behavior for the window selection when jumping to a frame when a
    breakpoint has been hit. Added a new switchbuf setting derived from the
    global Neovim 'switchbuf' setting that can be used to change the behavior
    to some degree.
  • Added autoscroll to the REPL. This behaves similarly to autoscroll in
    terminal buffers. If you're at the end of the buffer (e.g. calling G) it
    will activate, leaving the buffer while not at the end will disable it.

New functions

  • Added a focus_frame function which allows to focus the current frame while
    stopped at a breakpoint.
  • Added a restart_frame function which allows to reset the execution of the
    current frame and restart it if the debug adapter supports it.
  • Added a .clear command to the REPL.

Configurations

  • Added support for a ${command:pickProcess} variable
  • Added support for ${env:<NAME>} variables.
  • Added support for __call metatables on configurations. This allows to
    dynamically resolve multiple properties when a configuration is used. This
    can be useful if you use something like vim.fn.input to compute one
    property and you're able to infer a second property from this input.

launch.json

  • Added basic templating support. Creating a new .vscode/launch.json file now
    adds the basic boilerplate.
  • Saving a .vscode/launch.json file now auto applies the configurations.
  • Added support for system specific osx, windows or linux properties.
    This allows users to use different properties depending on the system, for
    example:
  {
    "type": "cppdbg",
    "request": "launch",
    "name": "Launch CPP",
    "MIMode": "gdb",
    "linux": {
      "miDebuggerPath": "/usr/bin/gdb"
    },
    "windows": {
      "miDebuggerPath": "C:\\MinGw\\bin\\gdb.exe"
    }
  }

UI widgets

  • The same type of UI widget can now be opened multiple times
  • Floating widgets with auto resize when expanding variables will no longer try
    to auto-resize if converted from float to regular window

New Contributors

Full Changelog: 0.3.0...0.4.0