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

import com.google.inject.Guice;
import com.google.inject.Injector;
import org.eclipse.osbp.xtext.action.ActionDSLRuntimeModule;
import org.eclipse.osbp.xtext.action.ActionDSLStandaloneSetup;
import org.eclipse.xtext.util.Modules2;

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

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