View Source Development Utilities

elixirsense-plugin

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

Formatter plugin

The underlying DSL tooling Spark has a formatter plugin that can help you keep your resources consistent and neat.

adding-the-plugin

Adding the plugin

Add the following to your .formatter.exs

[
  plugins: [Spark.Formatter], # <- add the plugin here
  inputs: ...
]

configuration

Configuration

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,
        ...
      ]
    ]
  ]