angular.module('shoppingList').controller(
  'ShoppingListController', ['$scope', '$window', function($scope, $window) {
    'use strict';

    var blankItem = {
      name: '',
      category: '',
      quantity: '',
      unit: '',
      notes: ''
    };

    $scope.categories = [
      'Baking',
      'Beverages',
      'Bread/Bakery',
      'Bulk',
      'Canned Goods',
      'Cereal/Breakfast',
      'Cheese',
      'Condiments',
      'Dairy',
      'Deli',
      'Frozen Foods',
      'Meats',
      'Non-Food',
      'Pasta/Rice',
      'Produce',
      'Snacks',
      'Spices'
    ];
    $scope.categories.sort();

    $scope.isEditing = true;

    var now = new Date();
    $scope.name = 'Shopping ' + (now.getMonth() + 1) + '/' + now.getDate() + '/' + now.getFullYear();

    $scope.listItems = [];

    $scope.addItem = function() {
      $scope.listItems.push(angular.copy(blankItem));
    };

    $scope.removeItem = function(index) {
      if ($window.confirm('Delete this item?')) {
        $scope.listItems.splice(index, 1);
      }
    };

    $scope.setEditMode = function(bool) {
      $scope.isEditing = !!bool;
    };

    var isEmpty = function(item) {
      return angular.equals(item, blankItem);
    };

    $scope.$watch(function() {
      return JSON.stringify($scope.listItems);
    }, function(newVal) {
      var items = $scope.listItems;
      if (items.length === 0 || !isEmpty(items[items.length - 1])) {
        $scope.addItem();
      }
    });
  }]
);

@@ -277,16 +277,31 @@
 ies = %5B%0A
+      'Asian',%0A
       'B
@@ -321,14 +321,49 @@
  'Be
-verage
+er',%0A      'Beverages',%0A      'Box Dinner
 s',%0A
@@ -458,24 +458,44 @@
   'Cheese',%0A
+      'Coffee/Tea',%0A
       'Condi
@@ -514,16 +514,26 @@
   'Dairy
+/Milk/Eggs
 ',%0A     
@@ -541,16 +541,38 @@
 'Deli',%0A
+      'Food Storage',%0A
       'F
@@ -596,24 +596,41 @@
    'Meats',%0A
+      'Mexican',%0A
       'Non-F
@@ -651,63 +651,151 @@
 asta
-/Rice',%0A      'Produce',%0A      'Snacks',%0A      'Spices'
+',%0A      'Peanut Butter & Jelly',%0A      'Pet',%0A      'Produce',%0A      'Rice/Beans',%0A      'Snacks',%0A      'Soup',%0A      'Spices',%0A      'Wine',
 %0A   

Add more categories