# Ruby Interpreters / Build Path

## Interpreters

When creating your first ruby project you will be prompted to configure a new interpreter if you haven’t already done so in eclipse. You can also manually manage your ruby interpreters with the following commands:

- :RubyInterpreterAdd [-n <name>] <path> - Add a ruby interpreter.
- :RubyInterpreterRemove <path> - Remove a ruby interpreter.
- :RubyInterpreterList - List the available ruby interpreters.

If you have more than one interpreter configured when you create subsequent projects you will be prompted to choose the interpreter to use. If you remove an interpreter used by one of your projects, you’ll have to go back to that project and edit its `.buildpath` file and change the interpreter name in the container entry.

Example (wrapped for readability): Changing `ruby1.9` to `ruby1.8`:

    <buildpathentry kind="con"
        path="org.eclipse.dltk.launching.INTERPRETER_CONTAINER/
              org.eclipse.dltk.internal.debug.ui.launcher.GenericRubyInstallType/ruby1.9"/>

    <buildpathentry kind="con"
        path="org.eclipse.dltk.launching.INTERPRETER_CONTAINER/
              org.eclipse.dltk.internal.debug.ui.launcher.GenericRubyInstallType/ruby1.8"/>

If there is no suffix on the container entry, that project will be using what ever is he default interpreter:

    <buildpathentry kind="con"
        path="org.eclipse.dltk.launching.INTERPRETER_CONTAINER"/>

## Build Path

Source code completion, searching, and other features make use of the eclipse dltk’s .buildpath to locate resources. When you first create a dltk project (currently php or ruby), a `.buildpath` file is created in the project’s root directory. If your project depends on any source files located outside your project or in another project, then you’ll need to edit your .buildpath accordingly.

To help you do this, eclim provides several commands to ease the creation of new build path entries and variables, all of which are made available when you edit your .buildpath file in vim. Also when you write the `.buildpath` file, Vim will issue a command to the eclim server to update the project’s build path, and will report any errors via vim’s location list (:help location-list).

The following is a list of commands that eclim provides while editing your .buildpath.

- :NewSrcEntry <dir> [<dir> …] - Adds one or more new entries which reference source directories in your project.

      <buildpathentry external="true" kind="lib" path="src/php"/>

  This command supports command completion of project relative directories.

- :NewLibEntry <dir> [<dir> …] - Adds one or more new entries which reference external source directories.

      <buildpathentry external="true" kind="lib" path="/usr/local/php/cake_1.1.16.5421"/>

  This command supports command completion of directories.

- :NewProjectEntry <project> [<project> …] - Adds one or more new entries which reference other projects.

      <buildpathentry combineaccessrules="false" kind="prj" path="/test_project"/>

  This command supports command completion of project names.