Remove FSF from copyright lines Address warnings in gdscript-indent-and-nav.el
GDScript mode for Emacs
This package adds support for the GDScript programming language from the Godot game engine in Emacs. It gives syntax highlighting and indentations. Contributors are welcome!
Features
This mode already features all the essentials:
- Syntax highlighting.
- Code folding.
- Imenu.
- Support for scenes (
.tscn) and script (.gd) files. - Comment wrapping when using
fill-paragraph. - Indentation and auto-indentation: tab-based (default) and space-based.
- Automatic pairing of parentheses, brackets, etc.
- Code formatting using gdformat.
- Auto-completion for all the keywords in the
data/directory.
Contributing
Contributors are welcome! Check the issues tab for tasks to work on and open a PR anytime.
If you find a bug, or would like to suggest an improvement, open a new issue.
For code style, we follow the Emacs lisp style guide by Bozhidar Batsov, and the tips and conventions from the Emacs manual.
You should also check for errors and linter warnings in your code, e.g. with flymake or flycheck.
How to install
As it is in development, the package is not available yet on Emacs package managers.
To install it:
- Clone the repository to your computer.
- In your init.el file, add a call to load and require the package.
(add-to-list 'load-path "/path/to/gdscript-mode.el")
(require 'gdscript-mode)
Installing in Spacemacs
- Clone the repository to the
private/localsubdirectory of your.emacs.ddirectory, where you installed spacemacs. - Add the package to the
dotspacemacs-additional-packagesand mark it as local. That's Spacemacs' feature to make it easy to load locally installed packages.
dotspacemacs-additional-packages '((gdscript-mode :location local))
- In your
dotspacemacs/user-configfunction, require the package.
(defun dotspacemacs/user-config ()
(require 'gdscript-mode))
Installing in Doom Emacs
Add the following package definition to your .doom.d/packages.el file:
(package! gdscript-mode
:recipe (:host github
:repo "GDQuest/emacs-gdscript-mode"
:files ("*.el" "data/*.txt")))
Require the package in your .doom.d/config.el file:
(require 'gdscript-mode)
Installing with use-package + straight.el
Add the call to use-package to your Emacs configuration:
(use-package gdscript-mode
:straight (gdscript-mode
:type git
:host github
:repo "GDQuest/emacs-gdscript-mode"
:files ("*.el" "data/*.txt")))
Formatting with gdformat
You can call the gdscript-format function to format the current buffer with
gdformat. This feature requires the python package gdtoolkit to be installed
and available on the system's PATH variable.
You can install gdtoolkit using the pip package manager from Python 3. Run this command in your shell to install it:
pip3 install gdtoolkit
Customization
Set the following variables to customize gdscript-mode:
(setq gdscript-tabs-mode t) ;; If true, use tabs for indents. Default: t
(setq gdscript-tab-width 4) ;; Controls the width of tab-based indents