/*
 * generated by Xtext 2.11.0
 */
package org.eclipse.osbp.dsl.services.xtext.ide;

import com.google.inject.Guice;
import com.google.inject.Injector;
import org.eclipse.osbp.dsl.services.xtext.ServicesGrammarRuntimeModule;
import org.eclipse.osbp.dsl.services.xtext.ServicesGrammarStandaloneSetup;
import org.eclipse.xtext.util.Modules2;

/**
 * Initialization support for running Xtext languages as language servers.
 */
public class ServicesGrammarIdeSetup extends ServicesGrammarStandaloneSetup {

	@Override
	public Injector createInjector() {
		return Guice.createInjector(Modules2.mixin(new ServicesGrammarRuntimeModule(), new ServicesGrammarIdeModule()));
	}
	
}
