proc_macro_roids 0.7.0

Traits and functions to make writing proc macros more ergonomic.
Documentation
# Changelog

## 0.7.0 (2020-01-13)

* `util::namespace_parameter` returns an `Option<NestedMeta>`.
* `util::namespace_parameters` returns a `Vec<NestedMeta>`.
* ***Breaking:*** `util::namespace_meta_lists_iter` returns an `impl Iterator<Item = MetaList>`.
* ***Breaking:*** `util::tag_meta_list` renamed to `util::tag_meta_lists_iter`.
* ***Breaking:*** `util::tag_meta_list_owned` renamed to `util::tag_meta_lists_owned_iter`.
* ***Breaking:*** `util::tag_meta_lists_owned_iter` takes in `impl Iterator<Item = MetaList>` instead of `Vec<MetaList>`.

## 0.6.1 (2020-01-10)

* `util::contains_tag` supports checking if any list of attributes contains a `#[namespace(tag)]`.
* `DeriveInputExt::contains_tag` supports checking if a type contains a `#[namespace(tag)]`.
* Added `FieldsExt::is_unit/is_named/is_tuple` which returns a `bool` for the relevant `Fields` type.
* `FieldsExt::construction_form` returns tokens suitable for deconstructing / constructing the relevant fields types.

## 0.6.0 (2019-10-01)

* ***Breaking:*** `DeriveInputExt::tag_parameter` and `DeriveInputExt::tag_parameters` return `NestedMeta`.
* ***Breaking:*** `FieldExt::tag_parameter` and `FieldExt::tag_parameters` return `NestedMeta`.
* `util::tag_parameter` and `util::tag_parameters` are now `pub`.
* `util::namespace_meta_list` is now `pub`.
* `util::tag_meta_list` and `util::tag_meta_list_owned` are now `pub`.

## 0.5.0 (2019-08-19)

* `syn`, `quote`, and `proc_macro2` are upgraded to `1.0`.
* ***Breaking:*** `nested_meta_to_ident` is renamed to `nested_meta_to_path`.

## 0.4.0 (2019-08-17)

* ***Breaking:*** `DeriveInputDeriveExt` is renamed to `DeriveInputExt`.
* `FieldExt::tag_parameter` extracts the `Meta` param from `#[namespace(tag(param))]`.
* `FieldExt::tag_parameters` extracts the `Meta` params from `#[namespace(tag(param1, param2))]`.
* `DeriveInputExt::tag_parameter` extracts the `Meta` param from `#[namespace(tag(param))]`.
* `DeriveInputExt::tag_parameters` extracts the `Meta` params from `#[namespace(tag(param1, param2))]`.

## 0.3.0 (2019-08-04)

* `FieldExt` provides methods to work with `Field`s:

    - `contains_tag`
    - `is_phantom_data`
    - `type_name`

## 0.2.1 (2019-04-10)

* `IdentExt::append` and `IdentExt::prepend` create new `Ident`s via concatenation.
* Added the following methods to `DeriveInputStructExt`:

    - `is_unit`
    - `is_named`
    - `is_tuple`
    - `assert_fields_unit`
    - `assert_fields_named`
    - `assert_fields_unnamed`

* Added `is_newtype` to `DeriveInputNewtypeExt`.

## 0.2.0 (2019-04-02)

* ***Breaking:*** `FieldsNamed::append` is renamed to `FieldsNamed::append_named`.
* ***Breaking:*** `FieldsUnnamed::append` is renamed to `FieldsUnnamed::append_unnamed`.

## 0.1.0 (2019-04-01)

* `DeriveInputDeriveExt` provides function to append `derive`s.
* `DeriveInputNewtypeExt` provides functions to get newtype inner `Field`.
* `DeriveInputStructExt` provides functions to get struct `Field`s.
* `FieldsNamedAppend` provides functions to append `FieldsNamed`.
* `FieldsUnnamedAppend` provides functions to append `FieldsUnnamed`.
* `nested_meta_to_ident` returns the `Ident` of a nested meta.
* `meta_list_contains` returns whether a `MetaList` contains a specified `NestedMeta`.
* `ident_concat` returns an `Ident` by concatenating `String` representations.