diff --git a/apps/generate/templates.ts b/apps/generate/templates.ts
index ff53125..dec8242 100644
--- a/apps/generate/templates.ts
+++ b/apps/generate/templates.ts
@@ -61,10 +61,26 @@ export const componentTemplate = (
-${projectionSegments.map(projectionSegmentTemplate).join("\n")}
+${projectionSegments
+ .reduce(reduceSegments, [])
+ .map(projectionSegmentTemplate)
+ .join("\n")}
`;
+const reduceSegments = (
+ segments: ProjectionSegment[],
+ segment: ProjectionSegment
+): ProjectionSegment[] => {
+ const previous = segments.length - 1;
+ if (previous >= 0 && isString(segment) && isString(segments[previous])) {
+ segments[previous] += " " + segment;
+ } else {
+ segments.push(segment);
+ }
+ return segments;
+};
+
const projectionSegmentTemplate = (segment: ProjectionSegment) => {
if (isString(segment)) {
return ` ${segment}`;