Fix single item shorthand list parsing bug

This fixes a bug where shorthand lists made with `[` and `]` containing only
a single item would not be parsed correctly. The `_eat_items` utility function
did not take into account the fact that the list end character could be in the
first item. I've added a conditional to check for this case and not call
the `_eat_items` method, because the current behavior is expected for some
inputs that use `_eat_items`.

cc @jamesls