| /******************************************************************************* |
| * Copyright (c) 2008 xored software, Inc. |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * xored software, Inc. - initial API and Implementation (Alex Panchenko) |
| *******************************************************************************/ |
| package org.eclipse.dltk.ruby.internal.parser; |
| |
| import org.eclipse.dltk.compiler.task.ITodoTaskPreferences; |
| import org.eclipse.dltk.compiler.task.TodoTaskPreferences; |
| import org.eclipse.dltk.core.IScriptProject; |
| import org.eclipse.dltk.ruby.core.RubyNature; |
| import org.eclipse.dltk.ruby.core.RubyPlugin; |
| import org.eclipse.dltk.validators.core.AbstractBuildParticipantType; |
| import org.eclipse.dltk.validators.core.IBuildParticipant; |
| |
| public class RubyTodoParserType extends AbstractBuildParticipantType { |
| |
| private static final String ID = "org.eclipse.dltk.ruby.todo"; //$NON-NLS-1$ |
| private static final String NAME = "Ruby TODO task parser"; //$NON-NLS-1$ |
| |
| public RubyTodoParserType() { |
| super(ID, NAME); |
| } |
| |
| protected IBuildParticipant createBuildParticipant(IScriptProject project) { |
| final ITodoTaskPreferences prefs = new TodoTaskPreferences(RubyPlugin |
| .getDefault().getPluginPreferences()); |
| if (prefs.isEnabled()) { |
| final RubyTodoTaskAstParser parser = new RubyTodoTaskAstParser( |
| prefs); |
| if (parser.isValid()) { |
| return parser; |
| } |
| } |
| return null; |
| } |
| |
| public String getNature() { |
| return RubyNature.NATURE_ID; |
| } |
| |
| } |