Skip to content

Emacs GDScript Mode 1.3.0

Compare
Choose a tag to compare
@NathanLovato NathanLovato released this 08 Sep 04:39
· 88 commits to master since this release

banner

This package adds support for the GDScript programming language from the Godot game engine in Emacs.

Release v1.3.0 brings many quality-of-life improvements to work more productively with Godot and Emacs.

Big thanks to @VlachJosef and @rileyrg for contributing to this release.

Features

  • Support for running the project and scenes with hydra with gdscript-hydra-show.
  • Command interpreter (comint support) for Godot processes: get and navigate errors within Emacs, and jump to files and GDScript code causing errors.
    • The command buffer pops up automatically when you run a scene or the project in the editor.
  • Added command gdscript-format-all to format all gdscript buffers.
  • Added commands gdscript-format-all and gdscript-format-buffer to gdscript-mode's hydra window (gdscript-hydra-show).
  • Added command interpreter support for gdscript-format-* commands
  • Add the ability to open a local copy of the Godot docs with gdscript-docs-* commands.
  • Multiple projects support. Every project's godot process runs in its own buffer.
  • Godot's standard output and standard error are fed to a comint buffer. This allows you to navigate errors and jump to the corresponding source files, using compilation-* commands.
  • Hydra provides a history of commands for quick re-execution of godot commands. It also provides a quick way to rerun the last command.
  • The gdscript-godot-run-current-scene command now offers to run any scene file if the current buffer is not a scene file.
  • The gdscript-godot-run-current-script command now offers to run any script file if the current buffer is not a script file.
  • Syntax highlighting for the $ operator.

Improvements

  • Added unit tests (see gdscript-tests.el).
  • Added check for missing godot executable and a corresponding error message.
  • You can force selecting a scene when calling gdscript-godot-run-current-scene by using the universal argument (C-u).
  • gdscript-godot-run-current-scene will use projectile by default if available, otherwise ivy or ido.
  • You can now customize the URL for the Godot API reference: gdscript-docs-online-search-api-url.
    • Also, use the universal argument (C-u) before calling gdscript-docs-browse-api to force it to use the online docs, even if a local build of the docs is available.

Changes

  • Removed guessing indentation size, which could guess indent sizes wrong.
  • Removed the customizable variables gdscript-indent-guess-indent-offset and gdscript-indent-guess-indent-offset-verbose.

Bug fixes

  • Fixed auto-indentation not working with match blocks.
  • Fixed auto-indentation of new blocks sometimes over-indenting.
  • Fixed eww-after-render-hook always calling gdscript docs formatter, even outside of gdscript-mode buffers.
  • Removed call to nonexisting function f-executable-p.

Getting started

To learn to install the package and get the most out of it, read our README on the repository's home page.

Contributing

If you encounter a bug or you have an idea to improve the tool, please open an issue!

This project is sponsored by GDQuest.