mirror of
https://github.com/ash-project/ash.git
synced 2024-09-20 21:43:02 +12:00
55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
# Development Utilities
|
|
|
|
## ElixirSense Plugin
|
|
|
|
The Ash ElixirSense plugin offers custom auto complete inside of any Ash DSL module (i.e resource/api/flow/registry)
|
|
|
|
With the release of ElixirLS 0.10.0, there is only one requirement to make this work for your project, which is to add `elixir_sense`
|
|
as a dev dependency. We're exploring ways to remove this requirement in the future so that it works with entirely automatically.
|
|
|
|
`{:elixir_sense, github: "elixir-lsp/elixir_sense", only: [:dev, :test]}`
|
|
|
|
## Formatter plugin
|
|
|
|
The underlying DSL tooling `Spark` has a formatter plugin that can help you keep your resources consistent and neat.
|
|
|
|
### Adding the plugin
|
|
|
|
Add the following to your `.formatter.exs`
|
|
|
|
```elixir
|
|
[
|
|
plugins: [Spark.Formatter], # <- add the plugin here
|
|
inputs: ...
|
|
]
|
|
```
|
|
|
|
### Configuration
|
|
|
|
```elixir
|
|
config :spark, :formatter,
|
|
[
|
|
"Ash.Resource": [
|
|
section_order: [
|
|
:resource,
|
|
:identities,
|
|
:attributes,
|
|
:relationships,
|
|
...
|
|
]
|
|
],
|
|
# If you use a different module than Ash.Resource
|
|
"MyApp.Resource": [
|
|
type: Ash.Resource,
|
|
# What extensions might be added by your base module
|
|
extensions: [...],
|
|
section_order: [
|
|
:resource,
|
|
:identities,
|
|
:attributes,
|
|
:relationships,
|
|
...
|
|
]
|
|
]
|
|
]
|
|
```
|