Using a fork, pierce the chicken generously and place in a large plastic zip lock bag or casserole dish. In a medium bowl, whisk the lemon juice, olive oil, onion, rosemary, salt, and pepper and pour over the chicken, making sure that all sides of the breasts get a good coating. Close the zip lock with as little air inside as possible, or cover the casserole dish, and let the chicken sit for at least 2 hours at room temperature, or overnight in the fridge.
If you marinate the chicken over night, take it out of the fridge about 1 hour before grilling. Turn the chicken a few times in the marinade to make sure the marinade is getting worked throughout the meat.
Pre-heat the grill on medium-high heat and grill the chicken, with the lid closed, for about 4-6 minutes or until golden brown. Turn to brown the other side and pour some or all of the marinade from the bag onto the breasts at this point, letting the diced onion and rosemary cover the meat. Close the lid of the grill and cook for another 4-5 minutes or until the chicken is cooked through. You can cut into the thickest part of a breast to check it is cooked. Transfer the chicken to a plate, cover with aluminium foil, and let it rest for about 5 minutes.
While the chicken is grilling, warm the tortillas up by wrapping the stack in foil and putting in a 300°F (150°C) oven for 5-10 minutes or warm them in the microwave for a couple of minutes.
Tacos are a do it yourself meal, so put all the fixings in bowls on the table and let everyone make their own.