All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
v1.1.11 (2023-05-10)
- don't document functions generated by Spark.Dls (#34)
v1.1.10 (2023-05-04)
- handle more cases where notifier is not an extension
v1.1.9 (2023-05-04)
- handle extensions with no sections
v1.1.8 (2023-05-03)
- better behavior with latest elixirls release
v1.1.7 (2023-05-03)
- remove hardcoded line number
v1.1.6 (2023-05-03)
- handle more anonymous function types in DSLs
v1.1.5 (2023-05-01)
- better error messages on exceptions in transformers
v1.1.4 (2023-04-27)
- require
__identifier__
field for identifiers
v1.1.3 (2023-04-26)
Transformer.async_compile/2
v1.1.2 (2023-04-24)
- don't wrap wrap_list snippets by default
v1.1.1 (2023-04-24)
- better snippets,
:wrap_list
type
v1.1.0 (2023-04-22)
- top level DSLs!
-
give every dsl entity a unique identifier
-
support top level sections in elixir_sense plugin
v1.0.9 (2023-04-21)
- correct args spec in
Spark.Dsl.Entity.t
. (#31)
-
add identifier-based entity replacement
-
add
imports
to extensions
v1.0.8 (2023-04-11)
- fix keyword_list types and list types
v1.0.7 (2023-04-08)
-
fix nested section module prefix
-
remove merge warning in a single DSL
v1.0.6 (2023-04-06)
- sanitize nested schemas
v1.0.5 (2023-04-06)
- properly merge fragments with base DSL
v1.0.4 (2023-04-05)
- don't rely on new elixir version function
- properly set extension types, and prevent overwriting
v1.0.3 (2023-04-05)
- nested entities not being correctly checked for uniqueness. (#28)
v1.0.2 (2023-04-05)
- fragments & identifiers
v1.0.1 (2023-03-31)
- unimport recursive options everywhere
v1.0.0 (2023-03-31)
- much better recursive DSL ergonomics
- better async compiler task handling
v0.4.12 (2023-03-25)
- Relax nimble_options dependency (#27)
v0.4.11 (2023-03-23)
- make code helpers public
v0.4.10 (2023-03-23)
- update to nimble_options 1.0
v0.4.9 (2023-03-21)
- better typespec generation
v0.4.8 (2023-03-20)
- ad
{:literal_value, value}
type
v0.4.7 (2023-03-02)
- properly match patched entities in formatter
v0.4.6 (2023-03-02)
- properly get all entity/option builders for formatter
v0.4.5 (2023-02-19)
- Make generated using/1 overridable for Dsls. (#26)
v0.4.4 (2023-02-14)
- more fixes for aliases
v0.4.3 (2023-02-13)
- fix unused alias warnings once and for all
v0.4.2 (2023-02-13)
- don't add docs to
@moduledoc false
mods
- evaluate
Transformer.eval
chunks in the order they're added. (#24)
v0.4.1 (2023-02-08)
- Make sections explicitly patchable, improve info generator. (#23)
v0.4.0 (2023-02-06)
- InfoGenerator: extract from AshAuthentication. (#22)
v0.3.12 (2023-02-05)
- spark.formatter properly split modules
v0.3.11 (2023-02-05)
-
all_entity_builders/3
passing extensions as path -
properly use Spark.Dsl behaviour
v0.3.10 (2023-02-05)
- don't use
Keyword.update!
when we don't know the key is there
-
support DSL modules having an explain callback
-
support adding entities via dsl patches
v0.3.9 (2023-01-30)
- CodeHelpers: don't generate duplicate functions. (#20)
v0.3.8 (2023-01-27)
-
Support multiple function clauses in anonymous functions (#18)
-
Entity.t: included
nil
option in typespecs where a field could be left default. (#17)
-
compile modules async for much faster compilation
-
speed up compilation by defining DSL modules in parallel
v0.3.7 (2023-01-19)
- don't suggest do/end blocks for entities
v0.3.6 (2023-01-18)
- remove variable scope when stripping metadata
-
update to new docs patterns
-
centralize anonymous function handling code
-
add
:quoted
type
v0.3.5 (2023-01-12)
- exclude all metadata from code identifier
v0.3.4 (2023-01-09)
-
properly ensure options list is pushed to the end
-
don't remove incorrect opts, broken in last commit
-
properly handle optional keyword list/do blocks with optional args
v0.3.3 (2023-01-06)
- support functions in entity args better
v0.3.2 (2022-12-22)
-
support optional entity args in formatter
-
run verifiers in after_compile hook in old versions
- support
imports
option on entities
v0.3.1 (2022-12-16)
- handle raised error in doc_index link replacements better
- support optional entity arguments (�)
v0.3.0 (2022-12-14)
- add verifiers
-
ensure entities config exists for recursive entities
-
properly traverse tuple subtypes
-
allow regexes in code modules
-
add the file to the persisted state
-
add
module
type
v0.2.18 (2022-12-07)
-
fix modules typespec
-
typespecs: fix incorrect typespec for
Spark.Dsl.Entity.t
(#14)
- update to latest nimble options
v0.2.17 (2022-12-02)
- more anonymous function type support
v0.2.16 (2022-12-02)
-
support partial captures in functions
-
leave unordered code where it is when sorting DSL sections
v0.2.15 (2022-12-01)
- properly avoid unquoting functions out of context
v0.2.14 (2022-12-01)
- various DSL utilities, like
fetch_opt
andsparks/2
v0.2.13 (2022-11-30)
-
support
remove_parens?
option forSpark.Formatter
-
Typespecs: add a
t
type forSpark.Dsl.Extension
. (#12)
v0.2.12 (2022-11-21)
- Incorrect typespecs. (#11)
v0.2.11 (2022-11-19)
-
properly handle
{:or, [{:spark_function_behaviour, ...}]}
types -
support anonymous functions in an
or
type -
don't cause unnecessary export dependency recompilation
- Add typespecs for
Spark.Dsl.Entity
andSpark.Dsl.Section
. (#10)
v0.2.10 (2022-11-15)
- add basename to guide typespec
v0.2.9 (2022-11-15)
- support explicitly ordering guides
v0.2.8 (2022-11-03)
- properly link to libraries, and support
default_guide
v0.2.7 (2022-11-03)
- support generic docs replacements renderer
v0.2.6 (2022-10-31)
- add new
spark_function_behaviour
to elixir_sense plugin
- support
{:or, ...}
option types
v0.2.5 (2022-10-30)
- un-break recursive DSL entities
v0.2.4 (2022-10-29)
-
support anonymous functions in the DSL
-
remove necessity for
{:elixir_sense, ...}
to make the plugin work
v0.2.3 (2022-10-28)
- add
Builder.input()
type
v0.2.2 (2022-10-28)
- add
handle_nested_builders/2
v0.2.1 (2022-10-27)
- handle non tuple return in builder
v0.2.0 (2022-10-24)
- add
Spark.Dsl.Builder
v0.1.29 (2022-10-21)
-
add
{:struct, Struct}
option type -
DslError: Add type for
DslError
struct. (#4)
v0.1.28 (2022-10-08)
- resolve issue w/ Code.eval_quoted
- OptionsHelpers: Add typespecs for options helpers. (#3)
v0.1.27 (2022-10-04)
- go back to fully hiding
no_require
modules
v0.1.26 (2022-09-29)
- add
mix_tasks/0
toDocIndex
v0.1.25 (2022-09-20)
- add
t()
type for DSL
v0.1.24 (2022-09-20)
- properly induce export dependency and still use aliases
v0.1.23 (2022-09-20)
- no dependencies hacked into export dependencies
v0.1.22 (2022-09-20)
v0.1.21 (2022-09-15)
- put back in fetching from module attribute if possible
v0.1.20 (2022-09-15)
-
preliminary support for passing maps to introspection
-
allow extensions to modify the module docs of an extension
v0.1.19 (2022-08-31)
- revert ordering changes that appear to be causing errors
v0.1.18 (2022-08-25)
-
fix base resource pattern
-
using type config in more places
-
use configured type
- add otp_app getter
v0.1.17 (2022-08-23)
- don't create module docs for generated modules
v0.1.16 (2022-08-23)
- remove
default_guide/1
v0.1.15 (2022-08-19)
- work on doc index
v0.1.14 (2022-08-19)
- add docs to hex package
v0.1.13 (2022-08-19)
- try out adding extra package metadata
v0.1.12 (2022-08-18)
-
add default to get_option
-
fix package files
v0.1.11 (2022-08-18)
- more documentation, tools for hex docs
v0.1.10 (2022-08-18)
- WIP on fixing the way we distribute doc files
v0.1.9 (2022-08-17)
- properly ignore built in alias types
- use libgraph to sort transformers
v0.1.8 (2022-08-16)
-
don't provide the module to transformers
-
update sourceror depednency
v0.1.7 (2022-08-15)
- add
spark.formatter.exs
(from ash)
v0.1.6 (2022-08-14)
- add formatter
v0.1.5 (2022-08-14)
- properly use spark dsl error
v0.1.4 (2022-08-14)
- add
Spark.Error.DslError
v0.1.3 (2022-08-14)
- properly handle
spark
types
v0.1.2 (2022-08-14)
- validate spark types properly