Sachverhalt: A. Die Staatsanwaltschaft des Kantons Luzern führt eine Strafuntersuchung gegen X._ unter anderem wegen des Verdachts des Raubes. Sie wirft ihm vor, am 8. Januar 2012 in A._ eine Frau zusammengeschlagen und ihr die Handtasche weggenommen zu haben. Die Staatsanwaltschaft hat inzwischen Anklage erhoben. Vom 10. Januar bis 9. Februar 2012 befand sich X._ wegen Kollusionsgefahr in Untersuchungshaft. Am 24. April 2012 wurde er wegen Wiederholungsgefahr erneut in Untersuchungs- bzw. Sicherheitshaft genommen. Das Zwangsmassnahmengericht des Kantons Luzern verlängerte die Haft mehrmals. B. Gegen die Haftverlängerung vom 12. November 2012 erhob X._ Beschwerde beim Obergericht des Kantons Luzern. Dieses wies das Rechtsmittel am 5. Dezember 2012 ab. C. X._ führt Beschwerde in Strafsachen mit dem Antrag, den Entscheid des Obergerichts aufzuheben und ihn unverzüglich aus der Haft zu entlassen; es sei ihm im Sinne von Art. 237 StPO die Auflage zu erteilen, sich einer ambulanten ärztlichen Behandlung zu unterziehen. Das Obergericht und die Staatsanwaltschaft schliessen je auf Abweisung der Beschwerde, soweit darauf einzutreten sei. X._ hält in der Replik an seinen Anträgen und Vorbringen fest.