# gamend_plugin_tools v1.0.1220 - Table of Contents

> Tools for building Gamend plugins (hooks).

## Pages

- [sdk_tools (gamend_plugin_tools)](readme.md)

## Modules

- [Gamend.GDScript](Gamend.GDScript.md): Compile GDScript hook scripts to Elixir source.
- [Gamend.GDScript.API](Gamend.GDScript.API.md): The gamend contexts a GDScript hook may call, with the arities of each function. Generated by `mix gen.sdk` from its `@sdk_modules` list -- do not edit, run the task.
- [Gamend.GDScript.Codegen](Gamend.GDScript.Codegen.md): AST into Elixir source text.
- [Gamend.GDScript.Lexer](Gamend.GDScript.Lexer.md): GDScript source text into a flat token list.
- [Gamend.GDScript.Parser](Gamend.GDScript.Parser.md): Token stream into an AST. Recursive descent, precedence climbing for
expressions.
- [Gamend.GDScript.Registry](Gamend.GDScript.Registry.md): What every script in a plugin exposes to the others.

- Exceptions
  - [Gamend.GDScript.CompileError](Gamend.GDScript.CompileError.md): Raised for anything the GDScript front end will not translate.

## Mix Tasks

- [mix gamend.gdscript.compile](Mix.Tasks.Gamend.Gdscript.Compile.md): Compiles every `scripts/*.gd` in the current plugin into Elixir source under
`gen/`.
- [mix gamend.gdscript.new](Mix.Tasks.Gamend.Gdscript.New.md): Creates a plugin whose hooks are written in GDScript.
- [mix plugin.bundle](Mix.Tasks.Plugin.Bundle.md): Builds a plugin bundle directory in the project root.

