/*
 * generated by Xtext 2.12.0
 */
package com.irtsaintexupery.xtext.formatting2

import com.google.inject.Inject
import com.irtsaintexupery.pseim.seim.Component
import com.irtsaintexupery.pseim.seim.Element
import com.irtsaintexupery.pseim.seim.GraphElement
import com.irtsaintexupery.pseim.seim.Model
import com.irtsaintexupery.xtext.services.PseimGrammarAccess
import org.eclipse.xtext.formatting2.AbstractFormatter2
import org.eclipse.xtext.formatting2.IFormattableDocument

class PseimFormatter extends AbstractFormatter2 {
	
	@Inject extension PseimGrammarAccess

	def dispatch void format(Model model, extension IFormattableDocument document) {
		// TODO: format HiddenRegions around keywords, attributes, cross references, etc. 
		for (GraphElement graphElement : model.getModelElements()) {
			graphElement.format;
		}
	}

	def dispatch void format(Component component, extension IFormattableDocument document) {
		// TODO: format HiddenRegions around keywords, attributes, cross references, etc. 
		for (Element element : component.getContent()) {
			element.format;
		}
	}
	
	// TODO: implement for 
}
