[SCM] Lisaac eclipse plugin branch, master, updated. 5b80ef281036c47f64a4c9daed9a3c74934198e9

Damien Bouvarel dams.bouvarel at wanadoo.fr
Sat Jun 6 10:42:19 UTC 2009


The following commit has been merged in the master branch:
commit 5b80ef281036c47f64a4c9daed9a3c74934198e9
Author: Damien Bouvarel <dams.bouvarel at wanadoo.fr>
Date:   Tue Jun 2 18:29:49 2009 +0200

    Refactor package names to match Eclipse naming conventions

diff --git a/.project b/.project
index 7afc5a4..939305a 100644
--- a/.project
+++ b/.project
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>eclipse.git</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>eclipse.git</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF
index 1d48dc8..914f4fa 100644
--- a/META-INF/MANIFEST.MF
+++ b/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.eclipse.lisaac; singleton:=true
+Bundle-SymbolicName: org.lisaac.ldt;singleton:=true
 Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.lisaac.LisaacPlugin
+Bundle-Activator: org.lisaac.ldt.LisaacPlugin
 Bundle-Vendor: Damien Bouvarel
 Require-Bundle: org.eclipse.ui,
  org.eclipse.core.runtime,
@@ -23,21 +23,21 @@ Import-Package: org.eclipse.debug.core,
  org.eclipse.debug.ui,
  org.eclipse.ui.texteditor.templates,
  org.eclipse.ui.views.contentoutline
-Export-Package: org.eclipse.lisaac,
- org.eclipse.lisaac.actions,
- org.eclipse.lisaac.builder,
- org.eclipse.lisaac.editors,
- org.eclipse.lisaac.launch,
- org.eclipse.lisaac.model,
- org.eclipse.lisaac.model.items,
- org.eclipse.lisaac.model.lip,
- org.eclipse.lisaac.model.types,
- org.eclipse.lisaac.outline,
- org.eclipse.lisaac.perspectives,
- org.eclipse.lisaac.preferences,
- org.eclipse.lisaac.properties,
- org.eclipse.lisaac.templates,
- org.eclipse.lisaac.views,
- org.eclipse.lisaac.wizards
+Export-Package: org.lisaac.ldt,
+ org.lisaac.ldt.actions,
+ org.lisaac.ldt.builder,
+ org.lisaac.ldt.editors,
+ org.lisaac.ldt.launch,
+ org.lisaac.ldt.model,
+ org.lisaac.ldt.model.items,
+ org.lisaac.ldt.model.lip,
+ org.lisaac.ldt.model.types,
+ org.lisaac.ldt.outline,
+ org.lisaac.ldt.perspectives,
+ org.lisaac.ldt.preferences,
+ org.lisaac.ldt.properties,
+ org.lisaac.ldt.templates,
+ org.lisaac.ldt.views,
+ org.lisaac.ldt.wizards
 Bundle-Localization: plugin
 Bundle-Name: %Bundle-Name.0
diff --git a/help/sheet1_HelloWorld.xml b/help/sheet1_HelloWorld.xml
index 3324a79..5457acc 100644
--- a/help/sheet1_HelloWorld.xml
+++ b/help/sheet1_HelloWorld.xml
@@ -1,62 +1,62 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cheatsheet
-      title="Create a Hello World application">
-   <intro>
-      <description>
-         This cheat sheet shows you how to create a &quot;Hello World&quot; Lisaac application.
-
- The application will print &quot;Hello World&quot; in the console when run.
- Enter Lisaac World!
-      </description>
-   </intro>
-   <item
-         title="Open the Lisaac perspective">
-      <description>
-         If you&apos;re not already in a Lisaac perspective, in the main menu select <b>Window &gt; Open Perspective &gt; Lisaac</b>.
-         
-      </description>
-      <command
-            required="false"
-            serialization="org.eclipse.ui.perspectives.showPerspective"/>
-   </item>
-   <item
-         title="Create a Lisaac Project">
-      <description>
-         We need a project to create an application. Click on the <b>New Lisaac Project</b> button, or click on the link below. Enter <b>HelloWorld</b> for the project name, then click <b>Finish</b>.
-         
-      </description>
-      <command
-            required="false"
-            serialization="org.eclipse.ui.newWizard"/>
-   </item>
-  
-   <item
-         skip="false"
-         title="Create your HelloWorld Prototype">
-  	  <description>
-  	  The next step is to create a new prototype.
-If the project wizard has not created a main prototype, click on the <b>New Prototype</b> button, select the checkbox to create the <b>main</b> slot.
-  	  </description>
-   	  <command
-            required="false"
-            serialization="org.eclipse.ui.newWizard"/> 
-   </item>
-   <item
-         title="Add a print statement">
-      <description>
-         Now that you have your HelloWorld prototype, in the <b>main</b> slot, add the following statement:
-&quot;Hello World!&quot;.print;
-then <b>save</b> your changes, the prototype will automatically compile.
-      </description>
-   </item>
-   <item
-         title="Run your Lisaac application">
-      <description>
-         To run your application, select <b>Run-&gt; Run configurations</b> menu, select <b>Lisaac Application</b>.
-The <b>Console</b> view should appear at the bottom and display the &quot;Hello, world!&quot; output.
-
-Congratulations! You have successfully created a Lisaac Hello World application!
-      </description>
-   </item>
-   
-</cheatsheet>
+<?xml version="1.0" encoding="UTF-8"?>
+<cheatsheet
+      title="Create a Hello World application">
+   <intro>
+      <description>
+         This cheat sheet shows you how to create a &quot;Hello World&quot; Lisaac application.
+
+ The application will print &quot;Hello World&quot; in the console when run.
+ Enter Lisaac World!
+      </description>
+   </intro>
+   <item
+         title="Open the Lisaac perspective">
+      <description>
+         If you&apos;re not already in a Lisaac perspective, in the main menu select <b>Window &gt; Open Perspective &gt; Lisaac</b>.
+         
+      </description>
+      <command
+            required="false"
+            serialization="org.eclipse.ui.perspectives.showPerspective"/>
+   </item>
+   <item
+         title="Create a Lisaac Project">
+      <description>
+         We need a project to create an application. Click on the <b>New Lisaac Project</b> button, or click on the link below. Enter <b>HelloWorld</b> for the project name, then click <b>Finish</b>.
+         
+      </description>
+      <command
+            required="false"
+            serialization="org.eclipse.ui.newWizard"/>
+   </item>
+  
+   <item
+         skip="false"
+         title="Create your HelloWorld Prototype">
+  	  <description>
+  	  The next step is to create a new prototype.
+If the project wizard has not created a main prototype, click on the <b>New Prototype</b> button, select the checkbox to create the <b>main</b> slot.
+  	  </description>
+   	  <command
+            required="false"
+            serialization="org.eclipse.ui.newWizard"/> 
+   </item>
+   <item
+         title="Add a print statement">
+      <description>
+         Now that you have your HelloWorld prototype, in the <b>main</b> slot, add the following statement:
+&quot;Hello World!&quot;.print;
+then <b>save</b> your changes, the prototype will automatically compile.
+      </description>
+   </item>
+   <item
+         title="Run your Lisaac application">
+      <description>
+         To run your application, select <b>Run-&gt; Run configurations</b> menu, select <b>Lisaac Application</b>.
+The <b>Console</b> view should appear at the bottom and display the &quot;Hello, world!&quot; output.
+
+Congratulations! You have successfully created a Lisaac Hello World application!
+      </description>
+   </item>
+   
+</cheatsheet>
diff --git a/plugin.xml b/plugin.xml
index d7c3f53..ae16e2e 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -23,16 +23,16 @@
             extensions="li"
             icon="$nl$/icons/prototype.gif"
             contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
-            class="org.eclipse.lisaac.editors.LisaacEditor"
-            id="org.eclipse.lisaac.editors.LisaacEditor">
+            class="org.lisaac.ldt.editors.LisaacEditor"
+            id="org.lisaac.ldt.editors.LisaacEditor">
       </editor>
       <editor
-            class="org.eclipse.lisaac.editors.LipEditor"
+            class="org.lisaac.ldt.editors.LipEditor"
             contributorClass="org.eclipse.ui.texteditor.BasicTextEditorActionContributor"
             default="false"
             extensions="lip"
             icon="$nl$/icons/releng_gears.gif"
-            id="org.eclipse.lisaac.editors.LipEditor"
+            id="org.lisaac.ldt.editors.LipEditor"
             name="%editor.name.1">
       </editor>
    </extension>
@@ -51,8 +51,8 @@
       <perspective
             name="%perspective.name.0"
             icon="$nl$/icons/releng_gears.gif"
-            class="org.eclipse.lisaac.perspectives.LisaacPerspective"
-            id="org.eclipse.lisaac.perspectives.LisaacPerspective">
+            class="org.lisaac.ldt.perspectives.LisaacPerspective"
+            id="org.lisaac.ldt.perspectives.LisaacPerspective">
          <description>
             Perspective for Lisaac Development
          </description>
@@ -62,25 +62,25 @@
          point="org.eclipse.ui.preferencePages">
       <page
             name="%page.name.0"
-            class="org.eclipse.lisaac.preferences.LisaacPreferencePage"
-            id="org.eclipse.lisaac.preferences.LisaacPreferencePage">
+            class="org.lisaac.ldt.preferences.LisaacPreferencePage"
+            id="org.lisaac.ldt.preferences.LisaacPreferencePage">
       </page>
       <page
-            category="org.eclipse.lisaac.editorpreferences"
-            class="org.eclipse.lisaac.preferences.LisaacTemplatePage"
-            id="org.eclipse.lisaac.templatepreferences"
+            category="org.lisaac.ldt.editorpreferences"
+            class="org.lisaac.ldt.preferences.LisaacTemplatePage"
+            id="org.lisaac.ldt.templatepreferences"
             name="%page.name.1">
       </page>
       <page
-            category="org.eclipse.lisaac.editorpreferences"
-            class="org.eclipse.lisaac.preferences.LisaacColoringPage"
-            id="org.eclipse.lisaac.editorcolorpreferences"
+            category="org.lisaac.ldt.editorpreferences"
+            class="org.lisaac.ldt.preferences.LisaacColoringPage"
+            id="org.lisaac.ldt.editorcolorpreferences"
             name="%page.name.2">
       </page>
       <page
-            category="org.eclipse.lisaac.preferences.LisaacPreferencePage"
-            class="org.eclipse.lisaac.preferences.LisaacEditorPage"
-            id="org.eclipse.lisaac.editorpreferences"
+            category="org.lisaac.ldt.preferences.LisaacPreferencePage"
+            class="org.lisaac.ldt.preferences.LisaacEditorPage"
+            id="org.lisaac.ldt.editorpreferences"
             name="%page.name.3">
          <keywordReference
                id="org.eclipse.ui.editors.general">
@@ -90,27 +90,20 @@
    <extension
          point="org.eclipse.core.runtime.preferences">
       <initializer
-            class="org.eclipse.lisaac.preferences.PreferenceInitializer">
+            class="org.lisaac.ldt.preferences.PreferenceInitializer">
       </initializer>
    </extension>
    <extension
          point="org.eclipse.ui.propertyPages">
       <page
-            class="org.eclipse.lisaac.properties.LisaacPropertyPage"
-            id="org.eclipse.lisaac.properties.lisaacPropertyPage"
-            name="%page.name.4"
-            nameFilter="*.li"
-            objectClass="org.eclipse.core.resources.IFile">
-      </page>
-      <page
-            class="org.eclipse.lisaac.properties.LisaacProjectPropertyPage"
-            id="org.eclipse.lisaac.properties.projectPropertyPage"
+            class="org.lisaac.ldt.properties.LisaacProjectPropertyPage"
+            id="org.lisaac.ldt.properties.projectPropertyPage"
             name="%page.name.5"
             objectClass="org.eclipse.core.resources.IProject">
       </page>
    </extension>
    <extension
-         id="org.eclipse.lisaac.newWizard"
+         id="org.lisaac.ldt.newWizard"
          name="Lisaac Project Wizard"
          point="org.eclipse.ui.newWizards">
       <category
@@ -120,25 +113,25 @@
       <wizard
             canFinishEarly="false"
             category="Lisaac"
-            class="org.eclipse.lisaac.wizards.NewProjectWizard"
-            finalPerspective="org.eclipse.lisaac.perspectives.LisaacPerspective"
+            class="org.lisaac.ldt.wizards.NewProjectWizard"
+            finalPerspective="org.lisaac.ldt.perspectives.LisaacPerspective"
             hasPages="true"
             icon="$nl$/icons/sample.gif"
-            id="org.eclipse.lisaac.wizard"
+            id="org.lisaac.ldt.wizard"
             name="%wizard.name.0"
-            preferredPerspectives="org.eclipse.lisaac.perspectives.LisaacPerspective"
+            preferredPerspectives="org.lisaac.ldt.perspectives.LisaacPerspective"
             project="true">
       </wizard>
       <wizard
             canFinishEarly="false"
             category="Lisaac"
-            class="org.eclipse.lisaac.wizards.NewPrototypeWizard"
-            finalPerspective="org.eclipse.lisaac.perspectives.LisaacPerspective"
+            class="org.lisaac.ldt.wizards.NewPrototypeWizard"
+            finalPerspective="org.lisaac.ldt.perspectives.LisaacPerspective"
             hasPages="true"
             icon="$nl$/icons/prototype.gif"
-            id="org.eclipse.lisaac.prototype"
+            id="org.lisaac.ldt.prototype"
             name="%wizard.name.1"
-            preferredPerspectives="org.eclipse.lisaac.perspectives.LisaacPerspective"
+            preferredPerspectives="org.lisaac.ldt.perspectives.LisaacPerspective"
             project="false">
       </wizard>
    </extension>
@@ -151,7 +144,7 @@
             hasNature="true"
             isConfigurable="false">
          <run
-               class="org.eclipse.lisaac.builder.LisaacBuilder">
+               class="org.lisaac.ldt.builder.LisaacBuilder">
          </run>
       </builder>
    </extension>
@@ -161,25 +154,25 @@
          point="org.eclipse.core.resources.natures">
       <runtime>
          <run
-               class="org.eclipse.lisaac.builder.LisaacNature">
+               class="org.lisaac.ldt.builder.LisaacNature">
          </run>
       </runtime>
       <builder
-            id="org.eclipse.lisaac.builder">
+            id="org.lisaac.ldt.builder">
       </builder>
    </extension>
    <extension
          point="org.eclipse.ui.console.consoleFactories">
       <consoleFactory
-            class="org.eclipse.lisaac.views.ConsoleFactory"
+            class="org.lisaac.ldt.views.ConsoleFactory"
             label="%consoleFactory.label.0">
       </consoleFactory>
    </extension>
    <extension
          point="org.eclipse.debug.core.launchConfigurationTypes">
       <launchConfigurationType
-            delegate="org.eclipse.lisaac.launch.LaunchConfiguration"
-            id="org.eclipse.lisaac.launchConfiguration"
+            delegate="org.lisaac.ldt.launch.LaunchConfiguration"
+            id="org.lisaac.ldt.launchConfiguration"
             modes="run"
             name="%launchConfigurationType.name.0"
             public="true">
@@ -188,105 +181,105 @@
    <extension
          point="org.eclipse.debug.ui.launchConfigurationTabGroups">
       <launchConfigurationTabGroup
-            class="org.eclipse.lisaac.launch.LaunchConfigurationTabGroup"
-            id="org.eclipse.lisaac.LaunchConfigurationTabGroup"
-            type="org.eclipse.lisaac.launchConfiguration">
+            class="org.lisaac.ldt.launch.LaunchConfigurationTabGroup"
+            id="org.lisaac.ldt.LaunchConfigurationTabGroup"
+            type="org.lisaac.ldt.launchConfiguration">
       </launchConfigurationTabGroup>
    </extension>
    <extension
          point="org.eclipse.ui.actionSets">
       <actionSet
             description="%actionSet.description.0"
-            id="org.eclipse.lisaac.source"
+            id="org.lisaac.ldt.source"
             label="%actionSet.label.0"
             visible="true">
          <menu
-               id="org.eclipse.lisaac.sourcemenu"
+               id="org.lisaac.ldt.sourcemenu"
                label="%menu.label.0">
             <groupMarker
                   name="toggle">
             </groupMarker>
             <separator
-                  name="org.eclipse.lisaac.separator1">
+                  name="org.lisaac.ldt.separator1">
             </separator>
             <groupMarker
                   name="indent">
             </groupMarker>
             <separator
-                  name="org.eclipse.lisaac.separator2">
+                  name="org.lisaac.ldt.separator2">
             </separator>
             <groupMarker
                   name="generate">
             </groupMarker>
          </menu>
          <action
-               class="org.eclipse.lisaac.actions.IndentAction"
-               definitionId="org.eclipse.lisaac.cmd1"
-               id="org.eclipse.lisaac.indentaction"
+               class="org.lisaac.ldt.actions.IndentAction"
+               definitionId="org.lisaac.ldt.cmd1"
+               id="org.lisaac.ldt.indentaction"
                label="%action.label.0"
-               menubarPath="org.eclipse.lisaac.sourcemenu/indent">
+               menubarPath="org.lisaac.ldt.sourcemenu/indent">
          </action>
          <action
-               class="org.eclipse.lisaac.actions.GenerateConstructor"
-               definitionId="org.eclipse.lisaac.cmd2"
-               id="org.eclipse.lisaac.generateconstructor"
+               class="org.lisaac.ldt.actions.GenerateConstructor"
+               definitionId="org.lisaac.ldt.cmd2"
+               id="org.lisaac.ldt.generateconstructor"
                label="%action.label.1"
-               menubarPath="org.eclipse.lisaac.sourcemenu/generate">
+               menubarPath="org.lisaac.ldt.sourcemenu/generate">
          </action>
          <menu
-               id="org.eclipse.lisaac.toolbar"
+               id="org.lisaac.ldt.toolbar"
                label="%menu.label.1">
          </menu>
          <action
-               class="org.eclipse.lisaac.actions.CreatePrototype"
-               definitionId="org.eclipse.lisaac.cmd3"
+               class="org.lisaac.ldt.actions.CreatePrototype"
+               definitionId="org.lisaac.ldt.cmd3"
                icon="$nl$/icons/prototype.gif"
-               id="org.eclipse.lisaac.toolbar_action1"
+               id="org.lisaac.ldt.toolbar_action1"
                label="%action.label.2"
                style="push"
-               toolbarPath="org.eclipse.lisaac.toolbar"
+               toolbarPath="org.lisaac.ldt.toolbar"
                tooltip="%action.tooltip.0">
          </action>
          <action
-               class="org.eclipse.lisaac.actions.ToggleComment"
-               definitionId="org.eclipse.lisaac.cmd4"
-               id="org.eclipse.lisaac.comment1"
+               class="org.lisaac.ldt.actions.ToggleComment"
+               definitionId="org.lisaac.ldt.cmd4"
+               id="org.lisaac.ldt.comment1"
                label="%action.label.3"
-               menubarPath="org.eclipse.lisaac.sourcemenu/toggle">
+               menubarPath="org.lisaac.ldt.sourcemenu/toggle">
          </action>
       </actionSet>
    </extension>
    <extension
          point="org.eclipse.ui.commands">
       <command
-            categoryId="org.eclipse.lisaac.commands"
-            id="org.eclipse.lisaac.cmd1"
+            categoryId="org.lisaac.ldt.commands"
+            id="org.lisaac.ldt.cmd1"
             name="%command.name.0">
       </command>
       <category
-            id="org.eclipse.lisaac.commands"
+            id="org.lisaac.ldt.commands"
             name="%category.name.1">
       </category>
       <command
-            categoryId="org.eclipse.lisaac.commands"
-            id="org.eclipse.lisaac.cmd2"
+            categoryId="org.lisaac.ldt.commands"
+            id="org.lisaac.ldt.cmd2"
             name="%command.name.1">
       </command>
       <command
-            categoryId="org.eclipse.lisaac.commands"
-            id="org.eclipse.lisaac.cmd3"
+            categoryId="org.lisaac.ldt.commands"
+            id="org.lisaac.ldt.cmd3"
             name="%command.name.2">
       </command>
       <command
-            categoryId="org.eclipse.lisaac.commands"
-            id="org.eclipse.lisaac.cmd4"
+            categoryId="org.lisaac.ldt.commands"
+            id="org.lisaac.ldt.cmd4"
             name="%command.name.3">
       </command>
    </extension>
    <extension
          point="org.eclipse.ui.bindings">
       <key
-            commandId="org.eclipse.lisaac.cmd1"
+            commandId="org.lisaac.ldt.cmd1"
             contextId="org.eclipse.ui.textEditorScope"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
             sequence="F2">
@@ -295,14 +288,14 @@
    <extension
          point="org.eclipse.ui.cheatsheets.cheatSheetContent">
       <category
-            id="org.eclipse.lisaac.cheatsheet"
+            id="org.lisaac.ldt.cheatsheet"
             name="Lisaac Development">
       </category>
       <cheatsheet
-            category="org.eclipse.lisaac.cheatsheet"
+            category="org.lisaac.ldt.cheatsheet"
             composite="false"
             contentFile="help/sheet1_HelloWorld.xml"
-            id="org.eclipse.lisaac.cheatsheet1"
+            id="org.lisaac.ldt.cheatsheet1"
             name="Lisaac HelloWorld">
          <description>
             Create a &quot;Hello World&quot; Lisaac application from scratch.
@@ -312,22 +305,22 @@
    <extension
          point="org.eclipse.ui.editors.templates">
       <contextType
-            class="org.eclipse.lisaac.templates.LisaacContextType"
-            id="org.eclipse.lisaac.contexttype"
+            class="org.lisaac.ldt.templates.LisaacContextType"
+            id="org.lisaac.ldt.contexttype"
             name="Lisaac context type">
       </contextType>
       <resolver
-            class="org.eclipse.lisaac.templates.LisaacVariableResolver"
-            contextTypeId="org.eclipse.lisaac.contexttype"
+            class="org.lisaac.ldt.templates.LisaacVariableResolver"
+            contextTypeId="org.lisaac.ldt.contexttype"
             name="Lisaac resolver"
             type="lisaac">
       </resolver>
       <template
             autoinsert="true"
-            contextTypeId="org.eclipse.lisaac.contexttype"
+            contextTypeId="org.lisaac.ldt.contexttype"
             description="While loop"
             icon="$nl$/icons/template.gif"
-            id="org.eclipse.lisaac.template_whiledo"
+            id="org.lisaac.ldt.template_whiledo"
             name="while_do">
          <pattern>
             while_do {
@@ -337,10 +330,10 @@
       </template>
       <template
             autoinsert="true"
-            contextTypeId="org.eclipse.lisaac.contexttype"
+            contextTypeId="org.lisaac.ldt.contexttype"
             description="Until Loop"
             icon="$nl$/icons/template.gif"
-            id="org.eclipse.lisaac.template_untildo"
+            id="org.lisaac.ldt.template_untildo"
             name="until_do">
          <pattern>
             until_do {
@@ -350,10 +343,10 @@
       </template>
       <template
             autoinsert="true"
-            contextTypeId="org.eclipse.lisaac.contexttype"
+            contextTypeId="org.lisaac.ldt.contexttype"
             description="If statement"
             icon="$nl$/icons/template.gif"
-            id="org.eclipse.lisaac.template_if"
+            id="org.lisaac.ldt.template_if"
             name="if">
          <pattern>
             if {
@@ -363,10 +356,10 @@
       </template>
       <template
             autoinsert="true"
-            contextTypeId="org.eclipse.lisaac.contexttype"
+            contextTypeId="org.lisaac.ldt.contexttype"
             description="If Else statement"
             icon="$nl$/icons/template.gif"
-            id="org.eclipse.lisaac.template_ifelse"
+            id="org.lisaac.ldt.template_ifelse"
             name="if__else">
          <pattern>
             if {
@@ -377,10 +370,10 @@
       </template>
       <template
             autoinsert="true"
-            contextTypeId="org.eclipse.lisaac.contexttype"
+            contextTypeId="org.lisaac.ldt.contexttype"
             description="If false statement"
             icon="$nl$/icons/template.gif"
-            id="org.eclipse.lisaac.template_iffalse"
+            id="org.lisaac.ldt.template_iffalse"
             name="if_false">
          <pattern>
             if_false {
@@ -390,10 +383,10 @@
       </template>
       <template
             autoinsert="true"
-            contextTypeId="org.eclipse.lisaac.contexttype"
+            contextTypeId="org.lisaac.ldt.contexttype"
             description="For loop"
             icon="$nl$/icons/template.gif"
-            id="org.eclipse.lisaac.template_for"
+            id="org.lisaac.ldt.template_for"
             name="to__do">
          <pattern>
             to ${cursor} do { i:INTEGER;
@@ -404,13 +397,13 @@
    <extension
          point="org.eclipse.debug.ui.launchShortcuts">
       <shortcut
-            class="org.eclipse.lisaac.launch.LisaacApplicationShortcut"
+            class="org.lisaac.ldt.launch.LisaacApplicationShortcut"
             icon="$nl$/icons/prototype.gif"
-            id="org.eclipse.lisaac.launch.shortcut"
+            id="org.lisaac.ldt.launch.shortcut"
             label="%shortcut.label.0"
             modes="run">
          <perspective
-               id="org.eclipse.lisaac.perspectives.LisaacPerspective">
+               id="org.lisaac.ldt.perspectives.LisaacPerspective">
          </perspective>
          <contextualLaunch>
             <enablement>
@@ -427,24 +420,24 @@
    <extension
          point="org.eclipse.ui.ide.markerResolution">
       <markerResolutionGenerator
-            class="org.eclipse.lisaac.editors.LisaacQuickFixer"
-            markerType="org.eclipse.lisaac.lisaacProblem">
+            class="org.lisaac.ldt.editors.LisaacQuickFixer"
+            markerType="org.lisaac.ldt.lisaacProblem">
       </markerResolutionGenerator>
    </extension>
    <extension
          point="org.eclipse.ui.editors.annotationTypes">
       <type
             markerSeverity="2"
-            markerType="org.eclipse.lisaac.lisaacProblem"
-            name="org.eclipse.lisaac.annotationtype"
+            markerType="org.lisaac.ldt.lisaacProblem"
+            name="org.lisaac.ldt.annotationtype"
             super="org.eclipse.ui.workbench.texteditor.error">
       </type>
    </extension>
    <extension
          point="org.eclipse.ui.decorators">
       <decorator
-            class="org.eclipse.lisaac.editors.LisaacResourceDecorator"
-            id="org.eclipse.lisaac.decorator"
+            class="org.lisaac.ldt.editors.LisaacResourceDecorator"
+            id="org.lisaac.ldt.decorator"
             label="Lisaac Decorator"
             lightweight="true"
             location="BOTTOM_LEFT"
@@ -459,7 +452,7 @@
    <extension
          point="org.eclipse.ui.editors.markerAnnotationSpecification">
       <specification
-            annotationType="org.eclipse.lisaac.annotationtype"
+            annotationType="org.lisaac.ldt.annotationtype"
             colorPreferenceKey="errorIndicationColor"
             colorPreferenceValue="255,0,128"
             contributesToHeader="true"
diff --git a/src/org/eclipse/lisaac/model/items/ICode.java b/src/org/eclipse/lisaac/model/items/ICode.java
deleted file mode 100644
index 613ff5b..0000000
--- a/src/org/eclipse/lisaac/model/items/ICode.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.eclipse.lisaac.model.items;
-
-import org.eclipse.lisaac.model.types.IType;
-
-public interface ICode {
-
-	IType getType(Slot slot, Prototype prototype);
-}
diff --git a/src/org/eclipse/lisaac/model/items/IVariable.java b/src/org/eclipse/lisaac/model/items/IVariable.java
deleted file mode 100644
index e9f6a1d..0000000
--- a/src/org/eclipse/lisaac/model/items/IVariable.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.eclipse.lisaac.model.items;
-
-import org.eclipse.lisaac.model.Position;
-
-public interface IVariable {
-	String getHoverInformation();
-
-	Position getPosition();
-}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPCode.java b/src/org/eclipse/lisaac/model/lip/LIPCode.java
deleted file mode 100644
index 4534f6a..0000000
--- a/src/org/eclipse/lisaac/model/lip/LIPCode.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPCode {
-}
diff --git a/src/org/eclipse/lisaac/properties/LisaacPropertyPage.java b/src/org/eclipse/lisaac/properties/LisaacPropertyPage.java
deleted file mode 100644
index ab522d2..0000000
--- a/src/org/eclipse/lisaac/properties/LisaacPropertyPage.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package org.eclipse.lisaac.properties;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class LisaacPropertyPage extends PropertyPage {
-
-	private static final String PATH_TITLE = "Path:";
-	private static final String OWNER_TITLE = "&Owner:";
-	private static final String OWNER_PROPERTY = "OWNER";
-	private static final String DEFAULT_OWNER = "John Doe";
-
-	private static final int TEXT_FIELD_WIDTH = 50;
-
-	private Text ownerText;
-
-	/**
-	 * Constructor for SamplePropertyPage.
-	 */
-	public LisaacPropertyPage() {
-		super();
-	}
-
-	private void addFirstSection(Composite parent) {
-		Composite composite = createDefaultComposite(parent);
-
-		//Label for path field
-		Label pathLabel = new Label(composite, SWT.NONE);
-		pathLabel.setText(PATH_TITLE);
-
-		// Path text field
-		Text pathValueText = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
-		pathValueText.setText(((IResource) getElement()).getFullPath().toString());
-	}
-
-	private void addSeparator(Composite parent) {
-		Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
-		GridData gridData = new GridData();
-		gridData.horizontalAlignment = GridData.FILL;
-		gridData.grabExcessHorizontalSpace = true;
-		separator.setLayoutData(gridData);
-	}
-
-	private void addSecondSection(Composite parent) {
-		Composite composite = createDefaultComposite(parent);
-
-		// Label for owner field
-		Label ownerLabel = new Label(composite, SWT.NONE);
-		ownerLabel.setText(OWNER_TITLE);
-
-		// Owner text field
-		ownerText = new Text(composite, SWT.SINGLE | SWT.BORDER);
-		GridData gd = new GridData();
-		gd.widthHint = convertWidthInCharsToPixels(TEXT_FIELD_WIDTH);
-		ownerText.setLayoutData(gd);
-
-		// Populate owner text field
-		try {
-			String owner =
-				((IResource) getElement()).getPersistentProperty(
-					new QualifiedName("", OWNER_PROPERTY));
-			ownerText.setText((owner != null) ? owner : DEFAULT_OWNER);
-		} catch (CoreException e) {
-			ownerText.setText(DEFAULT_OWNER);
-		}
-	}
-
-	/**
-	 * @see PreferencePage#createContents(Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		GridData data = new GridData(GridData.FILL);
-		data.grabExcessHorizontalSpace = true;
-		composite.setLayoutData(data);
-
-		addFirstSection(composite);
-		addSeparator(composite);
-		addSecondSection(composite);
-		return composite;
-	}
-
-	private Composite createDefaultComposite(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		GridData data = new GridData();
-		data.verticalAlignment = GridData.FILL;
-		data.horizontalAlignment = GridData.FILL;
-		composite.setLayoutData(data);
-
-		return composite;
-	}
-
-	protected void performDefaults() {
-		// Populate the owner text field with the default value
-		ownerText.setText(DEFAULT_OWNER);
-	}
-	
-	public boolean performOk() {
-		// store the value in the owner text field
-		try {
-			((IResource) getElement()).setPersistentProperty(
-				new QualifiedName("", OWNER_PROPERTY),
-				ownerText.getText());
-		} catch (CoreException e) {
-			return false;
-		}
-		return true;
-	}
-
-}
\ No newline at end of file
diff --git a/src/org/eclipse/lisaac/LisaacMessages.java b/src/org/lisaac/ldt/LisaacMessages.java
similarity index 74%
rename from src/org/eclipse/lisaac/LisaacMessages.java
rename to src/org/lisaac/ldt/LisaacMessages.java
index 1fbbbcb..0609921 100644
--- a/src/org/eclipse/lisaac/LisaacMessages.java
+++ b/src/org/lisaac/ldt/LisaacMessages.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac;
+package org.lisaac.ldt;
 
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
 public class LisaacMessages {
-	private static final String BUNDLE_NAME = "org.eclipse.lisaac.messages"; //$NON-NLS-1$
+	private static final String BUNDLE_NAME = "org.lisaac.ldt.messages"; //$NON-NLS-1$
 
 	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
 			.getBundle(BUNDLE_NAME);
diff --git a/src/org/eclipse/lisaac/LisaacPlugin.java b/src/org/lisaac/ldt/LisaacPlugin.java
similarity index 87%
rename from src/org/eclipse/lisaac/LisaacPlugin.java
rename to src/org/lisaac/ldt/LisaacPlugin.java
index 0923f24..1901bd4 100644
--- a/src/org/eclipse/lisaac/LisaacPlugin.java
+++ b/src/org/lisaac/ldt/LisaacPlugin.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac;
+package org.lisaac.ldt;
 
 import java.io.IOException;
 
@@ -9,12 +9,12 @@ import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.text.templates.ContextTypeRegistry;
 import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.lisaac.builder.LisaacNature;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.templates.LisaacContextType;
 import org.eclipse.ui.editors.text.templates.ContributionContextTypeRegistry;
 import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.lisaac.ldt.builder.LisaacNature;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.templates.LisaacContextType;
 import org.osgi.framework.BundleContext;
 
 /**
@@ -23,7 +23,7 @@ import org.osgi.framework.BundleContext;
 public class LisaacPlugin extends AbstractUIPlugin {
 
 	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.lisaac";
+	public static final String PLUGIN_ID = "org.lisaac.ldt";
 
 	// The shared instance
 	private static LisaacPlugin plugin;
@@ -35,7 +35,7 @@ public class LisaacPlugin extends AbstractUIPlugin {
 	private ContextTypeRegistry fRegistry;
 
 
-	private static final String TEMPLATES_KEY = "org.eclipse.lisaac.templatepreferences"; //$NON-NLS-1$
+	private static final String TEMPLATES_KEY = "org.lisaac.ldt.templatepreferences"; //$NON-NLS-1$
 
 
 	public TemplateStore getTemplateStore() {
diff --git a/src/org/eclipse/lisaac/actions/CreatePrototype.java b/src/org/lisaac/ldt/actions/CreatePrototype.java
similarity index 92%
rename from src/org/eclipse/lisaac/actions/CreatePrototype.java
rename to src/org/lisaac/ldt/actions/CreatePrototype.java
index 2279ffc..e3f4839 100644
--- a/src/org/eclipse/lisaac/actions/CreatePrototype.java
+++ b/src/org/lisaac/ldt/actions/CreatePrototype.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.actions;
+package org.lisaac.ldt.actions;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.action.Action;
@@ -8,13 +8,13 @@ import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.window.Window;
 import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.wizards.NewPrototypeWizard;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowActionDelegate;
 import org.eclipse.ui.PlatformUI;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.wizards.NewPrototypeWizard;
 
 public class CreatePrototype extends Action implements IWorkbenchWindowActionDelegate {
 
diff --git a/src/org/eclipse/lisaac/actions/GenerateConstructor.java b/src/org/lisaac/ldt/actions/GenerateConstructor.java
similarity index 90%
rename from src/org/eclipse/lisaac/actions/GenerateConstructor.java
rename to src/org/lisaac/ldt/actions/GenerateConstructor.java
index b19a24b..17184f2 100644
--- a/src/org/eclipse/lisaac/actions/GenerateConstructor.java
+++ b/src/org/lisaac/ldt/actions/GenerateConstructor.java
@@ -1,14 +1,14 @@
-package org.eclipse.lisaac.actions;
+package org.lisaac.ldt.actions;
 
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.editors.LisaacEditor;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.editors.LisaacEditor;
 
 public class GenerateConstructor implements IWorkbenchWindowActionDelegate {
 
@@ -36,7 +36,7 @@ public class GenerateConstructor implements IWorkbenchWindowActionDelegate {
 		}
 	}
 	
-	private String getConstructor() {
+	public static String getConstructor() {
 		StringBuffer buffer = new StringBuffer();
 		buffer.append("\n  //\n  // Creation.\n  //\n");
 		buffer.append("\n  - create:SELF <-");
diff --git a/src/org/eclipse/lisaac/actions/IndentAction.java b/src/org/lisaac/ldt/actions/IndentAction.java
similarity index 92%
rename from src/org/eclipse/lisaac/actions/IndentAction.java
rename to src/org/lisaac/ldt/actions/IndentAction.java
index 570a9d4..96a09e0 100644
--- a/src/org/eclipse/lisaac/actions/IndentAction.java
+++ b/src/org/lisaac/ldt/actions/IndentAction.java
@@ -1,14 +1,14 @@
-package org.eclipse.lisaac.actions;
+package org.lisaac.ldt.actions;
 
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.editors.AbstractLisaacEditor;
-import org.eclipse.lisaac.editors.LisaacAutoEditStrategy;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.editors.AbstractLisaacEditor;
+import org.lisaac.ldt.editors.LisaacAutoEditStrategy;
 
 /**
  * Our sample action implements workbench action delegate.
diff --git a/src/org/eclipse/lisaac/actions/ToggleComment.java b/src/org/lisaac/ldt/actions/ToggleComment.java
similarity index 93%
rename from src/org/eclipse/lisaac/actions/ToggleComment.java
rename to src/org/lisaac/ldt/actions/ToggleComment.java
index b2aaf2b..8b0b66f 100644
--- a/src/org/eclipse/lisaac/actions/ToggleComment.java
+++ b/src/org/lisaac/ldt/actions/ToggleComment.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.actions;
+package org.lisaac.ldt.actions;
 
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.text.BadLocationException;
@@ -6,11 +6,11 @@ import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.ITextSelection;
 import org.eclipse.jface.text.rules.ICharacterScanner;
 import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.editors.AbstractLisaacEditor;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.editors.AbstractLisaacEditor;
 
 public class ToggleComment implements IWorkbenchWindowActionDelegate {
 
diff --git a/src/org/eclipse/lisaac/builder/ILisaacErrorHandler.java b/src/org/lisaac/ldt/builder/ILisaacErrorHandler.java
similarity index 74%
rename from src/org/eclipse/lisaac/builder/ILisaacErrorHandler.java
rename to src/org/lisaac/ldt/builder/ILisaacErrorHandler.java
index a6c7ed3..fae5f5e 100644
--- a/src/org/eclipse/lisaac/builder/ILisaacErrorHandler.java
+++ b/src/org/lisaac/ldt/builder/ILisaacErrorHandler.java
@@ -1,14 +1,14 @@
-package org.eclipse.lisaac.builder;
-
-import org.eclipse.lisaac.model.Position;
-
-public interface ILisaacErrorHandler {
-
-	void syntaxError(String msg, Position position);
-	
-	void fatalError(String msg, Position position);
-
-	void warning(String msg, Position position);
-
-	void semanticError(String msg, Position position);
-}
+package org.lisaac.ldt.builder;
+
+import org.lisaac.ldt.model.Position;
+
+public interface ILisaacErrorHandler {
+
+	void syntaxError(String msg, Position position);
+	
+	void fatalError(String msg, Position position);
+
+	void warning(String msg, Position position);
+
+	void semanticError(String msg, Position position);
+}
diff --git a/src/org/eclipse/lisaac/builder/LisaacBuilder.java b/src/org/lisaac/ldt/builder/LisaacBuilder.java
similarity index 95%
rename from src/org/eclipse/lisaac/builder/LisaacBuilder.java
rename to src/org/lisaac/ldt/builder/LisaacBuilder.java
index dd273b4..2a655bd 100644
--- a/src/org/eclipse/lisaac/builder/LisaacBuilder.java
+++ b/src/org/lisaac/ldt/builder/LisaacBuilder.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.builder;
+package org.lisaac.ldt.builder;
 
 import java.util.Map;
 
@@ -12,8 +12,8 @@ import org.eclipse.core.resources.IResourceVisitor;
 import org.eclipse.core.resources.IncrementalProjectBuilder;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.Position;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.Position;
 
 public class LisaacBuilder extends IncrementalProjectBuilder {
 
@@ -92,9 +92,9 @@ public class LisaacBuilder extends IncrementalProjectBuilder {
 		}
 	}
 
-	public static final String BUILDER_ID = "org.eclipse.lisaac.builder";
+	public static final String BUILDER_ID = "org.lisaac.ldt.builder";
 
-	private static final String MARKER_TYPE = "org.eclipse.lisaac.lisaacProblem";
+	private static final String MARKER_TYPE = "org.lisaac.ldt.lisaacProblem";
 
 
 	private IMarker addMarker(IFile file, String message, int lineNumber,
diff --git a/src/org/eclipse/lisaac/builder/LisaacNature.java b/src/org/lisaac/ldt/builder/LisaacNature.java
similarity index 95%
rename from src/org/eclipse/lisaac/builder/LisaacNature.java
rename to src/org/lisaac/ldt/builder/LisaacNature.java
index 0743aea..cd0a162 100644
--- a/src/org/eclipse/lisaac/builder/LisaacNature.java
+++ b/src/org/lisaac/ldt/builder/LisaacNature.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.builder;
+package org.lisaac.ldt.builder;
 
 import org.eclipse.core.resources.ICommand;
 import org.eclipse.core.resources.IProject;
@@ -11,7 +11,7 @@ public class LisaacNature implements IProjectNature {
 	/**
 	 * ID of this project nature
 	 */
-	public static final String NATURE_ID = "org.eclipse.lisaac.lisaac";
+	public static final String NATURE_ID = "org.lisaac.ldt.lisaac";
 
 	private IProject project;
 
diff --git a/src/org/eclipse/lisaac/builder/LisaacParseException.java b/src/org/lisaac/ldt/builder/LisaacParseException.java
similarity index 80%
rename from src/org/eclipse/lisaac/builder/LisaacParseException.java
rename to src/org/lisaac/ldt/builder/LisaacParseException.java
index aae6c0f..dc38f07 100644
--- a/src/org/eclipse/lisaac/builder/LisaacParseException.java
+++ b/src/org/lisaac/ldt/builder/LisaacParseException.java
@@ -1,14 +1,14 @@
-package org.eclipse.lisaac.builder;
-
-public class LisaacParseException extends Exception {
-	
-	int line;
-	
-	LisaacParseException(String msg, int line) {
-		super(msg);
-	}
-
-	public int getLineNumber() {
-		return line;
-	}
-}
+package org.lisaac.ldt.builder;
+
+public class LisaacParseException extends Exception {
+	
+	int line;
+	
+	LisaacParseException(String msg, int line) {
+		super(msg);
+	}
+
+	public int getLineNumber() {
+		return line;
+	}
+}
diff --git a/src/org/eclipse/lisaac/editors/AbstractLisaacEditor.java b/src/org/lisaac/ldt/editors/AbstractLisaacEditor.java
similarity index 93%
rename from src/org/eclipse/lisaac/editors/AbstractLisaacEditor.java
rename to src/org/lisaac/ldt/editors/AbstractLisaacEditor.java
index 9f8819a..e28ae30 100644
--- a/src/org/eclipse/lisaac/editors/AbstractLisaacEditor.java
+++ b/src/org/lisaac/ldt/editors/AbstractLisaacEditor.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -22,10 +22,6 @@ import org.eclipse.jface.text.source.IVerticalRuler;
 import org.eclipse.jface.text.source.projection.ProjectionSupport;
 import org.eclipse.jface.text.source.projection.ProjectionViewer;
 import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
-import org.eclipse.lisaac.views.LisaacOutlineView;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IEditorInput;
@@ -37,6 +33,10 @@ import org.eclipse.ui.texteditor.ChainedPreferenceStore;
 import org.eclipse.ui.texteditor.ContentAssistAction;
 import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
 import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.preferences.PreferenceConstants;
+import org.lisaac.ldt.views.LisaacOutlineView;
 
 /**
  * Main class for the Lisaac editor
diff --git a/src/org/eclipse/lisaac/editors/ColorManager.java b/src/org/lisaac/ldt/editors/ColorManager.java
similarity index 98%
rename from src/org/eclipse/lisaac/editors/ColorManager.java
rename to src/org/lisaac/ldt/editors/ColorManager.java
index 56c433d..57a5f87 100644
--- a/src/org/eclipse/lisaac/editors/ColorManager.java
+++ b/src/org/lisaac/ldt/editors/ColorManager.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import java.util.HashMap;
 import java.util.Iterator;
@@ -77,7 +77,7 @@ public class ColorManager {
 			RGB rgb = StringConverter.asRGB(colorName);
 			
 			if (prefKey.equals(ILisaacColor.PREF_EXTERNAL)) {
-				String colorName2 = preferenceStore.getString(ILisaacColor.PREF_DEFAULT_COLOR);
+				String colorName2 = preferenceStore.getString(ILisaacColor.PREF_LOCAL_SLOT);
 				RGB rgb2 = StringConverter.asRGB(colorName2);
 				token.setData(new TextAttribute(getColor(rgb2), getColor(rgb), SWT.NORMAL));
 			} else {
diff --git a/src/org/eclipse/lisaac/editors/HoverPresenter.java b/src/org/lisaac/ldt/editors/HoverPresenter.java
similarity index 95%
rename from src/org/eclipse/lisaac/editors/HoverPresenter.java
rename to src/org/lisaac/ldt/editors/HoverPresenter.java
index 6bb33c9..e15b258 100644
--- a/src/org/eclipse/lisaac/editors/HoverPresenter.java
+++ b/src/org/lisaac/ldt/editors/HoverPresenter.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import java.util.Stack;
 
diff --git a/src/org/eclipse/lisaac/editors/ILisaacColor.java b/src/org/lisaac/ldt/editors/ILisaacColor.java
similarity index 83%
rename from src/org/eclipse/lisaac/editors/ILisaacColor.java
rename to src/org/lisaac/ldt/editors/ILisaacColor.java
index 814fdf0..004768a 100644
--- a/src/org/eclipse/lisaac/editors/ILisaacColor.java
+++ b/src/org/lisaac/ldt/editors/ILisaacColor.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.swt.graphics.RGB;
 
@@ -25,10 +25,11 @@ public interface ILisaacColor {
 	String PREF_PROTOTYPE = "prototype_color";
 	String PREF_PROTOTYPE_STYLE = "prototype_style_color";
 	String PREF_KEYWORD = "keyword_color";
+	String PREF_SLOT = "slot_color";
+	String PREF_LOCAL_SLOT = "local_slot_color";
 	String PREF_CHARACTER = "character_color";
 	String PREF_STRING  = "string_color";
 	String PREF_NUMBER = "number_color";
 	String PREF_OPERATOR = "operator_color";
-	String PREF_EXTERNAL = "external_color";
-	String PREF_DEFAULT_COLOR = "default_color";		
+	String PREF_EXTERNAL = "external_color";		
 }
\ No newline at end of file
diff --git a/src/org/eclipse/lisaac/editors/LipEditor.java b/src/org/lisaac/ldt/editors/LipEditor.java
similarity index 90%
rename from src/org/eclipse/lisaac/editors/LipEditor.java
rename to src/org/lisaac/ldt/editors/LipEditor.java
index 35dffe5..957e70e 100644
--- a/src/org/eclipse/lisaac/editors/LipEditor.java
+++ b/src/org/lisaac/ldt/editors/LipEditor.java
@@ -1,25 +1,25 @@
-package org.eclipse.lisaac.editors;
-
-import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
-
-/**
- * Main class for the Lip editor
- * @author Damien Bouvarel
- */
-public class LipEditor extends AbstractLisaacEditor {
-
-	public LipEditor() {
-		super();
-	}
-	
-	/**
-     * @see AbstractTextEditor#getAdapter(java.lang.Class)
-     */
-	public Object getAdapter(Class required) {
-        if (IContentOutlinePage.class.equals(required)) {
-            return null; // no outline
-         } else {
-             return super.getAdapter(required);
-         }
-    }
-}
+package org.lisaac.ldt.editors;
+
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
+
+/**
+ * Main class for the Lip editor
+ * @author Damien Bouvarel
+ */
+public class LipEditor extends AbstractLisaacEditor {
+
+	public LipEditor() {
+		super();
+	}
+	
+	/**
+     * @see AbstractTextEditor#getAdapter(java.lang.Class)
+     */
+	public Object getAdapter(Class required) {
+        if (IContentOutlinePage.class.equals(required)) {
+            return null; // no outline
+         } else {
+             return super.getAdapter(required);
+         }
+    }
+}
diff --git a/src/org/eclipse/lisaac/editors/LisaacAutoEditStrategy.java b/src/org/lisaac/ldt/editors/LisaacAutoEditStrategy.java
similarity index 94%
rename from src/org/eclipse/lisaac/editors/LisaacAutoEditStrategy.java
rename to src/org/lisaac/ldt/editors/LisaacAutoEditStrategy.java
index 8944998..4c00cb2 100644
--- a/src/org/eclipse/lisaac/editors/LisaacAutoEditStrategy.java
+++ b/src/org/lisaac/ldt/editors/LisaacAutoEditStrategy.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.DefaultIndentLineAutoEditStrategy;
@@ -7,8 +7,8 @@ import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.Region;
 import org.eclipse.jface.text.TextUtilities;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.preferences.PreferenceConstants;
 
 
 public class LisaacAutoEditStrategy extends DefaultIndentLineAutoEditStrategy {
diff --git a/src/org/eclipse/lisaac/editors/LisaacCompletionProcessor.java b/src/org/lisaac/ldt/editors/LisaacCompletionProcessor.java
similarity index 89%
rename from src/org/eclipse/lisaac/editors/LisaacCompletionProcessor.java
rename to src/org/lisaac/ldt/editors/LisaacCompletionProcessor.java
index d131987..365a646 100644
--- a/src/org/eclipse/lisaac/editors/LisaacCompletionProcessor.java
+++ b/src/org/lisaac/ldt/editors/LisaacCompletionProcessor.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import java.util.ArrayList;
 
@@ -10,10 +10,10 @@ import org.eclipse.jface.text.contentassist.ICompletionProposal;
 import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
 import org.eclipse.jface.text.contentassist.IContextInformation;
 import org.eclipse.jface.text.contentassist.IContextInformationValidator;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.model.LisaacCompletionParser;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
-import org.eclipse.lisaac.templates.LisaacTemplateProcessor;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.LisaacCompletionParser;
+import org.lisaac.ldt.preferences.PreferenceConstants;
+import org.lisaac.ldt.templates.LisaacTemplateProcessor;
 
 
 public class LisaacCompletionProcessor implements IContentAssistProcessor {
diff --git a/src/org/eclipse/lisaac/editors/LisaacConfiguration.java b/src/org/lisaac/ldt/editors/LisaacConfiguration.java
similarity index 96%
rename from src/org/eclipse/lisaac/editors/LisaacConfiguration.java
rename to src/org/lisaac/ldt/editors/LisaacConfiguration.java
index 0a218a2..a3bc558 100644
--- a/src/org/eclipse/lisaac/editors/LisaacConfiguration.java
+++ b/src/org/lisaac/ldt/editors/LisaacConfiguration.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.jface.text.DefaultIndentLineAutoEditStrategy;
@@ -19,11 +19,11 @@ import org.eclipse.jface.text.quickassist.QuickAssistAssistant;
 import org.eclipse.jface.text.rules.Token;
 import org.eclipse.jface.text.source.ISourceViewer;
 import org.eclipse.jface.text.source.SourceViewerConfiguration;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
-import org.eclipse.lisaac.templates.LisaacTemplateProcessor;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.preferences.PreferenceConstants;
+import org.lisaac.ldt.templates.LisaacTemplateProcessor;
 
 /**
  * Manage the configuration of syntax coloration for lisaac documents.
diff --git a/src/org/eclipse/lisaac/editors/LisaacDamagerRepairer.java b/src/org/lisaac/ldt/editors/LisaacDamagerRepairer.java
similarity index 94%
rename from src/org/eclipse/lisaac/editors/LisaacDamagerRepairer.java
rename to src/org/lisaac/ldt/editors/LisaacDamagerRepairer.java
index fb4ee3e..7bf0107 100644
--- a/src/org/eclipse/lisaac/editors/LisaacDamagerRepairer.java
+++ b/src/org/lisaac/ldt/editors/LisaacDamagerRepairer.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.jface.text.ITypedRegion;
 import org.eclipse.jface.text.TextAttribute;
diff --git a/src/org/eclipse/lisaac/editors/LisaacDocumentProvider.java b/src/org/lisaac/ldt/editors/LisaacDocumentProvider.java
similarity index 94%
rename from src/org/eclipse/lisaac/editors/LisaacDocumentProvider.java
rename to src/org/lisaac/ldt/editors/LisaacDocumentProvider.java
index 64a4130..b259452 100644
--- a/src/org/eclipse/lisaac/editors/LisaacDocumentProvider.java
+++ b/src/org/lisaac/ldt/editors/LisaacDocumentProvider.java
@@ -1,13 +1,13 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.IDocumentPartitioner;
 import org.eclipse.jface.text.rules.FastPartitioner;
-import org.eclipse.lisaac.model.LisaacModel;
 import org.eclipse.ui.editors.text.FileDocumentProvider;
 import org.eclipse.ui.part.FileEditorInput;
+import org.lisaac.ldt.model.LisaacModel;
 
 /**
  * Handle the creation of lisaac document.<br>
diff --git a/src/org/eclipse/lisaac/editors/LisaacDoubleClickStrategy.java b/src/org/lisaac/ldt/editors/LisaacDoubleClickStrategy.java
similarity index 96%
rename from src/org/eclipse/lisaac/editors/LisaacDoubleClickStrategy.java
rename to src/org/lisaac/ldt/editors/LisaacDoubleClickStrategy.java
index 7e2c477..7aa3ea7 100644
--- a/src/org/eclipse/lisaac/editors/LisaacDoubleClickStrategy.java
+++ b/src/org/lisaac/ldt/editors/LisaacDoubleClickStrategy.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.jface.text.*;
 
diff --git a/src/org/eclipse/lisaac/editors/LisaacEditor.java b/src/org/lisaac/ldt/editors/LisaacEditor.java
similarity index 82%
rename from src/org/eclipse/lisaac/editors/LisaacEditor.java
rename to src/org/lisaac/ldt/editors/LisaacEditor.java
index 6ea91e5..08958c1 100644
--- a/src/org/eclipse/lisaac/editors/LisaacEditor.java
+++ b/src/org/lisaac/ldt/editors/LisaacEditor.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 /**
  * Main class for the Lisaac editor
diff --git a/src/org/eclipse/lisaac/editors/LisaacHyperLinkDetector.java b/src/org/lisaac/ldt/editors/LisaacHyperLinkDetector.java
similarity index 94%
rename from src/org/eclipse/lisaac/editors/LisaacHyperLinkDetector.java
rename to src/org/lisaac/ldt/editors/LisaacHyperLinkDetector.java
index ebad956..5f23c59 100644
--- a/src/org/eclipse/lisaac/editors/LisaacHyperLinkDetector.java
+++ b/src/org/lisaac/ldt/editors/LisaacHyperLinkDetector.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.IDocument;
diff --git a/src/org/eclipse/lisaac/editors/LisaacPartitionScanner.java b/src/org/lisaac/ldt/editors/LisaacPartitionScanner.java
similarity index 96%
rename from src/org/eclipse/lisaac/editors/LisaacPartitionScanner.java
rename to src/org/lisaac/ldt/editors/LisaacPartitionScanner.java
index 5f541c3..0ef3916 100644
--- a/src/org/eclipse/lisaac/editors/LisaacPartitionScanner.java
+++ b/src/org/lisaac/ldt/editors/LisaacPartitionScanner.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.jface.text.rules.*;
 
diff --git a/src/org/eclipse/lisaac/editors/LisaacResourceDecorator.java b/src/org/lisaac/ldt/editors/LisaacResourceDecorator.java
similarity index 92%
rename from src/org/eclipse/lisaac/editors/LisaacResourceDecorator.java
rename to src/org/lisaac/ldt/editors/LisaacResourceDecorator.java
index cbdd2fd..fc5dfae 100644
--- a/src/org/eclipse/lisaac/editors/LisaacResourceDecorator.java
+++ b/src/org/lisaac/ldt/editors/LisaacResourceDecorator.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IResource;
@@ -7,7 +7,7 @@ import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.viewers.IDecoration;
 import org.eclipse.jface.viewers.ILabelProviderListener;
 import org.eclipse.jface.viewers.ILightweightLabelDecorator;
-import org.eclipse.lisaac.LisaacPlugin;
+import org.lisaac.ldt.LisaacPlugin;
 
 /**
  * Handle image decoration in Navigator View
diff --git a/src/org/eclipse/lisaac/editors/LisaacScanner.java b/src/org/lisaac/ldt/editors/LisaacScanner.java
similarity index 92%
rename from src/org/eclipse/lisaac/editors/LisaacScanner.java
rename to src/org/lisaac/ldt/editors/LisaacScanner.java
index b980577..e39c381 100644
--- a/src/org/eclipse/lisaac/editors/LisaacScanner.java
+++ b/src/org/lisaac/ldt/editors/LisaacScanner.java
@@ -1,9 +1,9 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.jface.text.*;
 import org.eclipse.jface.text.rules.*;
-import org.eclipse.lisaac.model.ILisaacModel;
 import org.eclipse.swt.graphics.RGB;
+import org.lisaac.ldt.model.ILisaacModel;
 
 class LisaacWhitespaceDetector implements IWhitespaceDetector {
 	public boolean isWhitespace(char c) {
@@ -98,11 +98,12 @@ public class LisaacScanner extends RuleBasedScanner {
 		prototypeToken = manager.getToken(ILisaacColor.PREF_PROTOTYPE);
 		prototypeStyleToken = manager.getToken(ILisaacColor.PREF_PROTOTYPE_STYLE);
 		keywordToken = manager.getToken(ILisaacColor.PREF_KEYWORD);
-		localVariableToken = manager.getToken(ILisaacColor.PREF_DEFAULT_COLOR);
+		localVariableToken = manager.getToken(ILisaacColor.PREF_LOCAL_SLOT);
 		operatorToken = manager.getToken(ILisaacColor.PREF_OPERATOR);
-		externalToken = manager.getToken(ILisaacColor.PREF_EXTERNAL, ILisaacColor.PREF_DEFAULT_COLOR);
+		externalToken = manager.getToken(ILisaacColor.PREF_EXTERNAL, ILisaacColor.PREF_LOCAL_SLOT);
 		
-		undefinedToken = new Token(getAttribute(ILisaacColor.UNDEFINED));
+		undefinedToken = manager.getToken(ILisaacColor.PREF_SLOT);
+			//new Token(getAttribute(ILisaacColor.UNDEFINED));
 
 		/*
 		 * Create basic lisaac rules.
diff --git a/src/org/eclipse/lisaac/editors/LisaacTextHover.java b/src/org/lisaac/ldt/editors/LisaacTextHover.java
similarity index 87%
rename from src/org/eclipse/lisaac/editors/LisaacTextHover.java
rename to src/org/lisaac/ldt/editors/LisaacTextHover.java
index af5efa0..217e5a3 100644
--- a/src/org/eclipse/lisaac/editors/LisaacTextHover.java
+++ b/src/org/lisaac/ldt/editors/LisaacTextHover.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.internal.text.html.HTMLTextPresenter;
@@ -12,14 +12,14 @@ import org.eclipse.jface.text.ITextHover;
 import org.eclipse.jface.text.ITextHoverExtension;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.Region;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.model.LisaacCompletionParser;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.items.IVariable;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.model.items.Slot;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
 import org.eclipse.swt.widgets.Shell;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.LisaacCompletionParser;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.items.IVariable;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.model.items.Slot;
+import org.lisaac.ldt.preferences.PreferenceConstants;
 
 public class LisaacTextHover implements ITextHover, ITextHoverExtension {
 
diff --git a/src/org/eclipse/lisaac/editors/LisaacWordRule.java b/src/org/lisaac/ldt/editors/LisaacWordRule.java
similarity index 85%
rename from src/org/eclipse/lisaac/editors/LisaacWordRule.java
rename to src/org/lisaac/ldt/editors/LisaacWordRule.java
index 8bdb690..040ea14 100644
--- a/src/org/eclipse/lisaac/editors/LisaacWordRule.java
+++ b/src/org/lisaac/ldt/editors/LisaacWordRule.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.text.rules.ICharacterScanner;
@@ -6,9 +6,9 @@ import org.eclipse.jface.text.rules.IToken;
 import org.eclipse.jface.text.rules.IWordDetector;
 import org.eclipse.jface.text.rules.Token;
 import org.eclipse.jface.text.rules.WordRule;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.model.items.Slot;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.model.items.Slot;
 
 public class LisaacWordRule extends WordRule {
 
@@ -42,17 +42,6 @@ public class LisaacWordRule extends WordRule {
 			int offset = ((LisaacScanner) scanner).getOffset();
 			String word = fBuffer.toString();
 			
-			try {
-				Slot slot = prototype.getSlotFromKeyword(word, prototype.openParser(), offset-word.length());
-				if (slot != null) {
-					return result;
-				}
-			} catch (CoreException e) {
-				e.printStackTrace();
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			
 			Slot slot = prototype.getSlot(offset);
 			if (slot != null) {
 				
@@ -65,6 +54,16 @@ public class LisaacWordRule extends WordRule {
 					return localVariableToken;
 				}
 			}
+			try {
+				slot = prototype.getSlotFromKeyword(word, prototype.openParser(), offset-word.length());
+				if (slot != null) {
+					return result;
+				}
+			} catch (CoreException e) {
+				e.printStackTrace();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
 		}
 		return result;
 	}
diff --git a/src/org/eclipse/lisaac/editors/NonRuleBasedDamagerRepairer.java b/src/org/lisaac/ldt/editors/NonRuleBasedDamagerRepairer.java
similarity index 99%
rename from src/org/eclipse/lisaac/editors/NonRuleBasedDamagerRepairer.java
rename to src/org/lisaac/ldt/editors/NonRuleBasedDamagerRepairer.java
index 200b4b8..f176cb3 100644
--- a/src/org/eclipse/lisaac/editors/NonRuleBasedDamagerRepairer.java
+++ b/src/org/lisaac/ldt/editors/NonRuleBasedDamagerRepairer.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.DocumentEvent;
diff --git a/src/org/eclipse/lisaac/editors/PrototypeHyperLink.java b/src/org/lisaac/ldt/editors/PrototypeHyperLink.java
similarity index 90%
rename from src/org/eclipse/lisaac/editors/PrototypeHyperLink.java
rename to src/org/lisaac/ldt/editors/PrototypeHyperLink.java
index 3ba089b..e250bdc 100644
--- a/src/org/eclipse/lisaac/editors/PrototypeHyperLink.java
+++ b/src/org/lisaac/ldt/editors/PrototypeHyperLink.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.editors;
+package org.lisaac.ldt.editors;
 
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFile;
@@ -9,17 +9,17 @@ import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.Position;
-import org.eclipse.lisaac.model.items.IVariable;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.model.items.Slot;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.ide.IDE;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.Position;
+import org.lisaac.ldt.model.items.IVariable;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.model.items.Slot;
 
 
 
diff --git a/src/org/eclipse/lisaac/launch/LaunchConfiguration.java b/src/org/lisaac/ldt/launch/LaunchConfiguration.java
similarity index 88%
rename from src/org/eclipse/lisaac/launch/LaunchConfiguration.java
rename to src/org/lisaac/ldt/launch/LaunchConfiguration.java
index 01f8912..1b0deac 100644
--- a/src/org/eclipse/lisaac/launch/LaunchConfiguration.java
+++ b/src/org/lisaac/ldt/launch/LaunchConfiguration.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.launch;
+package org.lisaac.ldt.launch;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -10,14 +10,14 @@ import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
 import org.eclipse.jface.dialogs.MessageDialog;
 
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.properties.LisaacProjectPropertyPage;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.properties.LisaacProjectPropertyPage;
 
 
 public class LaunchConfiguration implements ILaunchConfigurationDelegate {
 	
-	public static final String TYPE_ID = "org.eclipse.lisaac.launchConfiguration";
+	public static final String TYPE_ID = "org.lisaac.ldt.launchConfiguration";
 	
 	protected LisaacCompiler compiler;
 
diff --git a/src/org/eclipse/lisaac/launch/LaunchConfigurationTab.java b/src/org/lisaac/ldt/launch/LaunchConfigurationTab.java
similarity index 95%
rename from src/org/eclipse/lisaac/launch/LaunchConfigurationTab.java
rename to src/org/lisaac/ldt/launch/LaunchConfigurationTab.java
index b0a1253..5d8f6d5 100644
--- a/src/org/eclipse/lisaac/launch/LaunchConfigurationTab.java
+++ b/src/org/lisaac/ldt/launch/LaunchConfigurationTab.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.launch;
+package org.lisaac.ldt.launch;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
@@ -14,11 +14,6 @@ import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
 import org.eclipse.debug.ui.ILaunchConfigurationTab;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.lip.LIP;
-import org.eclipse.lisaac.model.lip.LIPSlotCode;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.TableEditor;
 import org.eclipse.swt.events.ModifyEvent;
@@ -44,6 +39,11 @@ import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.dialogs.ContainerSelectionDialog;
 import org.eclipse.ui.dialogs.ResourceSelectionDialog;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.lip.LIP;
+import org.lisaac.ldt.model.lip.LIPSlotCode;
 
 
 public class LaunchConfigurationTab extends AbstractLaunchConfigurationTab {
diff --git a/src/org/eclipse/lisaac/launch/LaunchConfigurationTabGroup.java b/src/org/lisaac/ldt/launch/LaunchConfigurationTabGroup.java
similarity index 92%
rename from src/org/eclipse/lisaac/launch/LaunchConfigurationTabGroup.java
rename to src/org/lisaac/ldt/launch/LaunchConfigurationTabGroup.java
index b22bdac..c3fec87 100644
--- a/src/org/eclipse/lisaac/launch/LaunchConfigurationTabGroup.java
+++ b/src/org/lisaac/ldt/launch/LaunchConfigurationTabGroup.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.launch;
+package org.lisaac.ldt.launch;
 
 import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup;
 import org.eclipse.debug.ui.CommonTab;
diff --git a/src/org/eclipse/lisaac/launch/LisaacApplicationShortcut.java b/src/org/lisaac/ldt/launch/LisaacApplicationShortcut.java
similarity index 96%
rename from src/org/eclipse/lisaac/launch/LisaacApplicationShortcut.java
rename to src/org/lisaac/ldt/launch/LisaacApplicationShortcut.java
index a3d4a27..1babd6f 100644
--- a/src/org/eclipse/lisaac/launch/LisaacApplicationShortcut.java
+++ b/src/org/lisaac/ldt/launch/LisaacApplicationShortcut.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.launch;
+package org.lisaac.ldt.launch;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/org/eclipse/lisaac/launch/LisaacCompiler.java b/src/org/lisaac/ldt/launch/LisaacCompiler.java
similarity index 94%
rename from src/org/eclipse/lisaac/launch/LisaacCompiler.java
rename to src/org/lisaac/ldt/launch/LisaacCompiler.java
index 6d659bb..399300f 100644
--- a/src/org/eclipse/lisaac/launch/LisaacCompiler.java
+++ b/src/org/lisaac/ldt/launch/LisaacCompiler.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.launch;
+package org.lisaac.ldt.launch;
 
 import java.util.ArrayList;
 
diff --git a/src/org/eclipse/lisaac/launch/LisaacLauncher.java b/src/org/lisaac/ldt/launch/LisaacLauncher.java
similarity index 94%
rename from src/org/eclipse/lisaac/launch/LisaacLauncher.java
rename to src/org/lisaac/ldt/launch/LisaacLauncher.java
index 8815aaf..dfe82af 100644
--- a/src/org/eclipse/lisaac/launch/LisaacLauncher.java
+++ b/src/org/lisaac/ldt/launch/LisaacLauncher.java
@@ -1,167 +1,167 @@
-package org.eclipse.lisaac.launch;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.File;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStream;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.lisaac.views.ConsoleFactory;
-import org.eclipse.lisaac.views.LisaacConsole;
-import org.eclipse.swt.widgets.Display;
-
-
-public class LisaacLauncher {
-
-	/** the size of the read buffers. */
-	private static final int BUFFER_SIZE = 256;
-
-
-	public static boolean executeCommandInConsole(final IProgressMonitor monitor, final IContainer project, final String[] commandLine) throws CoreException {
-		// get & clear lisaac console
-		final LisaacConsole console = ConsoleFactory.getConsole();
-		console.clearConsole();
-		console.activate();// show console
-
-		/*	if (AntRunner.isBuildRunning()) {
-			//throw new Exception("Another build is already running");
-			return false;
-		}
-		AntRunner runner = new AntRunner();
-		runner.setBuildFileLocation(project.getFullPath()+"/build.xml");
-		runner.setArguments("-Dmessage=Building -verbose");
-		runner.run(monitor);
-		 */
-
-		Runnable getStandardOutput = new Runnable() {
-			public void run() {
-
-				monitor.beginTask("Executing...", 100);
-
-				Process process = null;
-				try {
-					process = launchProcess(commandLine, project);
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-
-				monitor.worked(20);
-				if (monitor.isCanceled()) {        
-					return;
-				}
-
-				InputStream inputStream = process.getInputStream();
-				//readOutput(inputStream, console.newOutputStream());
-				String output = getProcessOutput(commandLine, inputStream, console.newOutputStream());
-				System.out.println(output);
-
-				monitor.worked(100);
-				monitor.done();
-			}
-		};
-		// execute action in a new thread UI safe
-		Display.getDefault().asyncExec(getStandardOutput);
-		//Thread runCommand = new Thread(getStandardOutput);
-		//runCommand.start();
-
-		return true;
-	}
-
-	public static Process executeCommand(IProgressMonitor monitor, IContainer project, String[] commandLine) throws CoreException {
-		monitor.beginTask("Executing...", 100);
-
-		Process process = null;
-		try {
-			process = launchProcess(commandLine, project);
-		} catch (IOException e) {
-			e.printStackTrace();
-			return null;
-		}
-		monitor.worked(20);
-		if (monitor.isCanceled()) {        
-			return null;
-		}
-		return process; // .getInputStream();
-	}
-
-	public static void readOutput(InputStream inputStream, OutputStream outputStream) {
-		String line=null;
-
-		BufferedReader bufferIn = 
-			new BufferedReader (new InputStreamReader (inputStream));
-		try {
-			while ((line = bufferIn.readLine ()) != null) {
-				outputStream.write(line.getBytes());
-				System.out.println("==> "+line);
-			}
-			//bufferIn.close();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-	}
-
-	/**
-	 * Returns the content of the process output.
-	 * @param inputStream the stream that contains the process output
-	 * @param outputStream the stream to which output is written
-	 * @return the process output string
-	 */
-	public static String getProcessOutput(String[] debug, InputStream inputStream, OutputStream outputStream) {
-		StringBuffer processOutput = new StringBuffer();
-		byte[] buffer = new byte[BUFFER_SIZE];
-		int byteRead = 0;
-
-		try {
-			for (int i=0; i<debug.length; i++) {
-				outputStream.write(debug[i].getBytes());
-			}
-
-			while (true) {
-				byteRead = inputStream.read(buffer);
-
-				if (byteRead == -1) {
-					break;
-				} else {
-					byte[] realOutput = new byte[byteRead];
-					System.arraycopy(buffer, 0, realOutput, 0, byteRead);
-					outputStream.write(realOutput);
-
-					String output = new String(realOutput);
-					processOutput.append(output);
-				}
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-
-		return processOutput.toString();
-	}
-
-	/**
-	 * Executes the command line at the given project location, and returns the 
-	 * corresponding process.
-	 * @param commandLine the command line
-	 * @param project the project in which the command line is executed
-	 * @return the corresponding process
-	 * @throws IOException if the command line can't be executed
-	 */
-	public static Process launchProcess(String[] commandLine, IContainer project) throws IOException {
-		File projectDirectory = 
-			(project != null) ? new File(project.getLocationURI()) : null;
-
-			try {
-				Process process = DebugPlugin.exec(commandLine, projectDirectory);
-				return process;
-			} catch (CoreException e) {
-				// TODO runtime error
-			}
-
-			//Process process = Runtime.getRuntime().exec(commandLine, null, projectDirectory);
-			return null;
-	}
-}
+package org.lisaac.ldt.launch;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.File;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.swt.widgets.Display;
+import org.lisaac.ldt.views.ConsoleFactory;
+import org.lisaac.ldt.views.LisaacConsole;
+
+
+public class LisaacLauncher {
+
+	/** the size of the read buffers. */
+	private static final int BUFFER_SIZE = 256;
+
+
+	public static boolean executeCommandInConsole(final IProgressMonitor monitor, final IContainer project, final String[] commandLine) throws CoreException {
+		// get & clear lisaac console
+		final LisaacConsole console = ConsoleFactory.getConsole();
+		console.clearConsole();
+		console.activate();// show console
+
+		/*	if (AntRunner.isBuildRunning()) {
+			//throw new Exception("Another build is already running");
+			return false;
+		}
+		AntRunner runner = new AntRunner();
+		runner.setBuildFileLocation(project.getFullPath()+"/build.xml");
+		runner.setArguments("-Dmessage=Building -verbose");
+		runner.run(monitor);
+		 */
+
+		Runnable getStandardOutput = new Runnable() {
+			public void run() {
+
+				monitor.beginTask("Executing...", 100);
+
+				Process process = null;
+				try {
+					process = launchProcess(commandLine, project);
+				} catch (IOException e) {
+					e.printStackTrace();
+				}
+
+				monitor.worked(20);
+				if (monitor.isCanceled()) {        
+					return;
+				}
+
+				InputStream inputStream = process.getInputStream();
+				//readOutput(inputStream, console.newOutputStream());
+				String output = getProcessOutput(commandLine, inputStream, console.newOutputStream());
+				System.out.println(output);
+
+				monitor.worked(100);
+				monitor.done();
+			}
+		};
+		// execute action in a new thread UI safe
+		Display.getDefault().asyncExec(getStandardOutput);
+		//Thread runCommand = new Thread(getStandardOutput);
+		//runCommand.start();
+
+		return true;
+	}
+
+	public static Process executeCommand(IProgressMonitor monitor, IContainer project, String[] commandLine) throws CoreException {
+		monitor.beginTask("Executing...", 100);
+
+		Process process = null;
+		try {
+			process = launchProcess(commandLine, project);
+		} catch (IOException e) {
+			e.printStackTrace();
+			return null;
+		}
+		monitor.worked(20);
+		if (monitor.isCanceled()) {        
+			return null;
+		}
+		return process; // .getInputStream();
+	}
+
+	public static void readOutput(InputStream inputStream, OutputStream outputStream) {
+		String line=null;
+
+		BufferedReader bufferIn = 
+			new BufferedReader (new InputStreamReader (inputStream));
+		try {
+			while ((line = bufferIn.readLine ()) != null) {
+				outputStream.write(line.getBytes());
+				System.out.println("==> "+line);
+			}
+			//bufferIn.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+
+	/**
+	 * Returns the content of the process output.
+	 * @param inputStream the stream that contains the process output
+	 * @param outputStream the stream to which output is written
+	 * @return the process output string
+	 */
+	public static String getProcessOutput(String[] debug, InputStream inputStream, OutputStream outputStream) {
+		StringBuffer processOutput = new StringBuffer();
+		byte[] buffer = new byte[BUFFER_SIZE];
+		int byteRead = 0;
+
+		try {
+			for (int i=0; i<debug.length; i++) {
+				outputStream.write(debug[i].getBytes());
+			}
+
+			while (true) {
+				byteRead = inputStream.read(buffer);
+
+				if (byteRead == -1) {
+					break;
+				} else {
+					byte[] realOutput = new byte[byteRead];
+					System.arraycopy(buffer, 0, realOutput, 0, byteRead);
+					outputStream.write(realOutput);
+
+					String output = new String(realOutput);
+					processOutput.append(output);
+				}
+			}
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+
+		return processOutput.toString();
+	}
+
+	/**
+	 * Executes the command line at the given project location, and returns the 
+	 * corresponding process.
+	 * @param commandLine the command line
+	 * @param project the project in which the command line is executed
+	 * @return the corresponding process
+	 * @throws IOException if the command line can't be executed
+	 */
+	public static Process launchProcess(String[] commandLine, IContainer project) throws IOException {
+		File projectDirectory = 
+			(project != null) ? new File(project.getLocationURI()) : null;
+
+			try {
+				Process process = DebugPlugin.exec(commandLine, projectDirectory);
+				return process;
+			} catch (CoreException e) {
+				// TODO runtime error
+			}
+
+			//Process process = Runtime.getRuntime().exec(commandLine, null, projectDirectory);
+			return null;
+	}
+}
diff --git a/src/org/eclipse/lisaac/launch/ProgramArgTab.java b/src/org/lisaac/ldt/launch/ProgramArgTab.java
similarity index 93%
rename from src/org/eclipse/lisaac/launch/ProgramArgTab.java
rename to src/org/lisaac/ldt/launch/ProgramArgTab.java
index 94a7de5..6a6e929 100644
--- a/src/org/eclipse/lisaac/launch/ProgramArgTab.java
+++ b/src/org/lisaac/ldt/launch/ProgramArgTab.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.launch;
+package org.lisaac.ldt.launch;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
@@ -8,8 +8,6 @@ import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
 import org.eclipse.debug.ui.ILaunchConfigurationTab;
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.LisaacPlugin;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -21,6 +19,8 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.LisaacPlugin;
 
 
 public class ProgramArgTab extends AbstractLaunchConfigurationTab {
diff --git a/src/org/eclipse/lisaac/messages.properties b/src/org/lisaac/ldt/messages.properties
similarity index 83%
rename from src/org/eclipse/lisaac/messages.properties
rename to src/org/lisaac/ldt/messages.properties
index 137c02e..2baea0b 100644
--- a/src/org/eclipse/lisaac/messages.properties
+++ b/src/org/lisaac/ldt/messages.properties
@@ -1,5 +1,5 @@
 AbstractNewFileWizardPage_1=Source folder : 
-AbstractNewFileWizardPage_2=Browse
+AbstractNewFileWizardPage_2=Browse...
 AbstractNewFileWizardPage_3=File name : 
 AbstractNewFileWizardPage_4=Select container.
 AbstractNewFileWizardPage_5=Source folder must be specified.
@@ -8,7 +8,7 @@ AbstractNewFileWizardPage_7=File already exists.
 LaunchConfigurationTab.10=Program Arguments
 LaunchConfigurationTab.12=Compiler Options
 LaunchConfigurationTab.13=Lisaac Path File (default : make.lip): 
-LaunchConfigurationTab.14=Browse
+LaunchConfigurationTab.14=Browse...
 LaunchConfigurationTab.15=Option
 LaunchConfigurationTab.16=Argument
 LaunchConfigurationTab.17=Description
@@ -17,10 +17,11 @@ LaunchConfigurationTab.23=No comment
 LaunchConfigurationTab.6=Project Options
 LaunchConfigurationTab.7=Project: 
 LaunchConfigurationTab.8=Main Prototype to run :
-LaunchConfigurationTab.9=Browse
+LaunchConfigurationTab.9=Browse...
 LisaacColoringPage.0=Lisaac Editor Syntax Coloring preferences :
 LisaacColoringPage.10=\ \ \ \ &Externals:
-LisaacColoringPage.11=\ \ \ \ O&thers:
+LisaacColoringPage.11=\ \ \ \ &Slots:
+LisaacColoringPage.12=\ \ \ \ &Local variables:
 LisaacColoringPage.2=\ \ \ \ &Comments:
 LisaacColoringPage.3=\ \ \ \ &Prototype:
 LisaacColoringPage.4=\ \ \ \ &Prototype Style:
@@ -42,14 +43,14 @@ LisaacPreferencePage.2=&Support for Lisaac 0.13
 LisaacProjectPropertyPage.0=Lisaac Environment Path
 LisaacProjectPropertyPage.1=Use default Lisaac Environment
 LisaacProjectPropertyPage.2=Use a project specific Lisaac Environment : 
-LisaacProjectPropertyPage.3=Browse
+LisaacProjectPropertyPage.3=Browse...
 LisaacProjectPropertyPage.8=Select Lisaac Environment Directory.
 NewProjectWizard_46=New Lisaac Project Wizard
 NewProjectWizard_47=New Lisaac Project
 NewProjectWizard_48=Create a lisaac project
 NewProjectWizard_49=Use default Lisaac Environment
 NewProjectWizard_50=Use a project specific Lisaac Environment : 
-NewProjectWizard_51=Browse
+NewProjectWizard_51=Browse...
 NewPrototypeWizard_0=New Prototype
 NewPrototypeWizard_2=Prototype File
 NewPrototypeWizard_25=Prototype Style : 
@@ -60,5 +61,8 @@ NewPrototypeWizard_29=Description :
 NewPrototypeWizard_3=Creates a new source file into a project
 NewPrototypeWizard_30=Inheritance : 
 NewPrototypeWizard_32=Inheritance Type
-NewPrototypeWizard_34=Add
+NewPrototypeWizard_34=Add...
 NewPrototypeWizard_35=Remove
+NewPrototypeWizard_36=Which slots would you like to create?
+NewPrototypeWizard_37=Main slot
+NewPrototypeWizard_38=Constructor slot
diff --git a/src/org/eclipse/lisaac/model/AbstractLisaacParser.java b/src/org/lisaac/ldt/model/AbstractLisaacParser.java
similarity index 95%
rename from src/org/eclipse/lisaac/model/AbstractLisaacParser.java
rename to src/org/lisaac/ldt/model/AbstractLisaacParser.java
index 5b37e28..3a315aa 100644
--- a/src/org/eclipse/lisaac/model/AbstractLisaacParser.java
+++ b/src/org/lisaac/ldt/model/AbstractLisaacParser.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 import java.io.BufferedReader;
 import java.io.IOException;
@@ -6,7 +6,7 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.StringWriter;
 
-import org.eclipse.lisaac.builder.ILisaacErrorHandler;
+import org.lisaac.ldt.builder.ILisaacErrorHandler;
 
 
 public class AbstractLisaacParser {
diff --git a/src/org/eclipse/lisaac/model/AliasString.java b/src/org/lisaac/ldt/model/AliasString.java
similarity index 95%
rename from src/org/eclipse/lisaac/model/AliasString.java
rename to src/org/lisaac/ldt/model/AliasString.java
index 13a016e..70327d6 100644
--- a/src/org/eclipse/lisaac/model/AliasString.java
+++ b/src/org/lisaac/ldt/model/AliasString.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 import java.util.HashSet;
 
diff --git a/src/org/eclipse/lisaac/model/ILisaacContext.java b/src/org/lisaac/ldt/model/ILisaacContext.java
similarity index 84%
rename from src/org/eclipse/lisaac/model/ILisaacContext.java
rename to src/org/lisaac/ldt/model/ILisaacContext.java
index 716a728..5c00f95 100644
--- a/src/org/eclipse/lisaac/model/ILisaacContext.java
+++ b/src/org/lisaac/ldt/model/ILisaacContext.java
@@ -1,20 +1,20 @@
-package org.eclipse.lisaac.model;
-
-import org.eclipse.lisaac.model.items.Prototype;
-
-public interface ILisaacContext {
-	/**
-	 * Parse the definition of the context. Returns true if the
-	 * context is correctly parsed. <br>
-	 * Automatically report parse errors.
-	 * @param prototype The model to fill
-	 * @return false if the definition of context contains at least one error
-	 */
-	boolean parseDefinition(Prototype prototype);
-
-	/**
-	 * Get the following context of same category in the lisaac code.
-	 * @return next context in current prototype
-	 */
-	ILisaacContext getNextContext();
-}
+package org.lisaac.ldt.model;
+
+import org.lisaac.ldt.model.items.Prototype;
+
+public interface ILisaacContext {
+	/**
+	 * Parse the definition of the context. Returns true if the
+	 * context is correctly parsed. <br>
+	 * Automatically report parse errors.
+	 * @param prototype The model to fill
+	 * @return false if the definition of context contains at least one error
+	 */
+	boolean parseDefinition(Prototype prototype);
+
+	/**
+	 * Get the following context of same category in the lisaac code.
+	 * @return next context in current prototype
+	 */
+	ILisaacContext getNextContext();
+}
diff --git a/src/org/eclipse/lisaac/model/ILisaacModel.java b/src/org/lisaac/ldt/model/ILisaacModel.java
similarity index 93%
rename from src/org/eclipse/lisaac/model/ILisaacModel.java
rename to src/org/lisaac/ldt/model/ILisaacModel.java
index fc187f2..81b6b31 100644
--- a/src/org/eclipse/lisaac/model/ILisaacModel.java
+++ b/src/org/lisaac/ldt/model/ILisaacModel.java
@@ -1,7 +1,7 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
-import org.eclipse.lisaac.builder.ILisaacErrorHandler;
-import org.eclipse.lisaac.model.lip.LIP;
+import org.lisaac.ldt.builder.ILisaacErrorHandler;
+import org.lisaac.ldt.model.lip.LIP;
 
 public interface ILisaacModel {
 
diff --git a/src/org/eclipse/lisaac/model/LipParser.java b/src/org/lisaac/ldt/model/LipParser.java
similarity index 95%
rename from src/org/eclipse/lisaac/model/LipParser.java
rename to src/org/lisaac/ldt/model/LipParser.java
index 5ca3042..e8a7212 100644
--- a/src/org/eclipse/lisaac/model/LipParser.java
+++ b/src/org/lisaac/ldt/model/LipParser.java
@@ -1,9 +1,9 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 import java.io.InputStream;
 import java.util.ArrayList;
 
-import org.eclipse.lisaac.model.lip.*;
+import org.lisaac.ldt.model.lip.*;
 
 
 public class LipParser extends AbstractLisaacParser {
diff --git a/src/org/eclipse/lisaac/model/LisaacCompletionParser.java b/src/org/lisaac/ldt/model/LisaacCompletionParser.java
similarity index 87%
rename from src/org/eclipse/lisaac/model/LisaacCompletionParser.java
rename to src/org/lisaac/ldt/model/LisaacCompletionParser.java
index 015a733..9b5170d 100644
--- a/src/org/eclipse/lisaac/model/LisaacCompletionParser.java
+++ b/src/org/lisaac/ldt/model/LisaacCompletionParser.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 
 import java.util.ArrayList;
@@ -11,19 +11,19 @@ import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.text.contentassist.CompletionProposal;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.builder.ILisaacErrorHandler;
-import org.eclipse.lisaac.editors.LisaacEditor;
-import org.eclipse.lisaac.editors.LisaacScanner;
-import org.eclipse.lisaac.model.items.ICode;
-import org.eclipse.lisaac.model.items.ITMPrototype;
-import org.eclipse.lisaac.model.items.ITMRead;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.model.items.Slot;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.outline.OutlineImages;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.builder.ILisaacErrorHandler;
+import org.lisaac.ldt.editors.LisaacEditor;
+import org.lisaac.ldt.editors.LisaacScanner;
+import org.lisaac.ldt.model.items.ICode;
+import org.lisaac.ldt.model.items.ITMPrototype;
+import org.lisaac.ldt.model.items.ITMRead;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.model.items.Slot;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.outline.OutlineImages;
 
 public class LisaacCompletionParser extends LisaacParser {
 	protected static LisaacModel model;
diff --git a/src/org/eclipse/lisaac/model/LisaacModel.java b/src/org/lisaac/ldt/model/LisaacModel.java
similarity index 91%
rename from src/org/eclipse/lisaac/model/LisaacModel.java
rename to src/org/lisaac/ldt/model/LisaacModel.java
index 4592353..ca5fb1c 100644
--- a/src/org/eclipse/lisaac/model/LisaacModel.java
+++ b/src/org/lisaac/ldt/model/LisaacModel.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 import java.io.InputStream;
 import java.util.HashMap;
@@ -14,17 +14,17 @@ import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.PlatformObject;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.builder.LisaacBuilder;
-import org.eclipse.lisaac.builder.ILisaacErrorHandler;
-import org.eclipse.lisaac.editors.AbstractLisaacEditor;
-import org.eclipse.lisaac.editors.LisaacEditor;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.model.lip.LIP;
 import org.eclipse.ui.IPartService;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchWindow;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.builder.ILisaacErrorHandler;
+import org.lisaac.ldt.builder.LisaacBuilder;
+import org.lisaac.ldt.editors.AbstractLisaacEditor;
+import org.lisaac.ldt.editors.LisaacEditor;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.model.lip.LIP;
 
 /**
  * Represents Lisaac model of a project
diff --git a/src/org/eclipse/lisaac/model/LisaacParser.java b/src/org/lisaac/ldt/model/LisaacParser.java
similarity index 95%
rename from src/org/eclipse/lisaac/model/LisaacParser.java
rename to src/org/lisaac/ldt/model/LisaacParser.java
index e560fe9..d46d912 100644
--- a/src/org/eclipse/lisaac/model/LisaacParser.java
+++ b/src/org/lisaac/ldt/model/LisaacParser.java
@@ -1,14 +1,14 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.model.items.*;
-import org.eclipse.lisaac.model.types.*;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.items.*;
+import org.lisaac.ldt.model.types.*;
+import org.lisaac.ldt.preferences.PreferenceConstants;
 
 /**
  *  Lisaac Prototype Parser
diff --git a/src/org/eclipse/lisaac/model/LisaacPath.java b/src/org/lisaac/ldt/model/LisaacPath.java
similarity index 89%
rename from src/org/eclipse/lisaac/model/LisaacPath.java
rename to src/org/lisaac/ldt/model/LisaacPath.java
index fe17c65..4f6dfe2 100644
--- a/src/org/eclipse/lisaac/model/LisaacPath.java
+++ b/src/org/lisaac/ldt/model/LisaacPath.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 import java.io.BufferedReader;
 import java.io.FileInputStream;
@@ -16,12 +16,12 @@ import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.QualifiedName;
 import org.eclipse.jface.text.contentassist.CompletionProposal;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.launch.LisaacCompiler;
-import org.eclipse.lisaac.model.items.Slot;
-import org.eclipse.lisaac.outline.OutlineImages;
-import org.eclipse.lisaac.properties.LisaacProjectPropertyPage;
 import org.eclipse.swt.widgets.Display;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.launch.LisaacCompiler;
+import org.lisaac.ldt.model.items.Slot;
+import org.lisaac.ldt.outline.OutlineImages;
+import org.lisaac.ldt.properties.LisaacProjectPropertyPage;
 
 
 public class LisaacPath {
diff --git a/src/org/eclipse/lisaac/model/Position.java b/src/org/lisaac/ldt/model/Position.java
similarity index 90%
rename from src/org/eclipse/lisaac/model/Position.java
rename to src/org/lisaac/ldt/model/Position.java
index 1706b12..fdd6d28 100644
--- a/src/org/eclipse/lisaac/model/Position.java
+++ b/src/org/lisaac/ldt/model/Position.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
 public class Position {
 	public int line;
diff --git a/src/org/eclipse/lisaac/model/SectionContext.java b/src/org/lisaac/ldt/model/SectionContext.java
similarity index 94%
rename from src/org/eclipse/lisaac/model/SectionContext.java
rename to src/org/lisaac/ldt/model/SectionContext.java
index c2f6149..e2f6ae0 100644
--- a/src/org/eclipse/lisaac/model/SectionContext.java
+++ b/src/org/lisaac/ldt/model/SectionContext.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac.model;
+package org.lisaac.ldt.model;
 
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.model.items.Section;
-import org.eclipse.lisaac.model.types.ITypeMono;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.model.items.Section;
+import org.lisaac.ldt.model.types.ITypeMono;
+import org.lisaac.ldt.preferences.PreferenceConstants;
 
 public class SectionContext implements ILisaacContext {
 
diff --git a/src/org/eclipse/lisaac/model/SlotContext.java b/src/org/lisaac/ldt/model/SlotContext.java
similarity index 85%
rename from src/org/eclipse/lisaac/model/SlotContext.java
rename to src/org/lisaac/ldt/model/SlotContext.java
index 08ce9a7..f4c4a02 100644
--- a/src/org/eclipse/lisaac/model/SlotContext.java
+++ b/src/org/lisaac/ldt/model/SlotContext.java
@@ -1,29 +1,29 @@
-package org.eclipse.lisaac.model;
-
-import org.eclipse.lisaac.model.items.Prototype;
-
-public class SlotContext implements ILisaacContext {
-	private LisaacParser parser;
-	
-	public SlotContext(LisaacParser parser) {
-		this.parser = parser;
-	}
-	
-	//++ SLOT         -> style TYPE_SLOT [':' (TYPE|'('TYPE_LIST')') ][ affect DEF_SLOT ]';'
-	public boolean parseDefinition(Prototype prototype) {
-		boolean result=false;
-		
-		result = parser.readSlot(prototype);
-		
-		return result;
-	}
-	
-	public ILisaacContext getNextContext() {
-		// FIXME skip until next slot !!!!
-		if (parser.skipUntilThisKeyword(ILisaacModel.keyword_section)) {
-			return parser.getSectionContext();
-		}
-		return null;
-	}
-
-}
+package org.lisaac.ldt.model;
+
+import org.lisaac.ldt.model.items.Prototype;
+
+public class SlotContext implements ILisaacContext {
+	private LisaacParser parser;
+	
+	public SlotContext(LisaacParser parser) {
+		this.parser = parser;
+	}
+	
+	//++ SLOT         -> style TYPE_SLOT [':' (TYPE|'('TYPE_LIST')') ][ affect DEF_SLOT ]';'
+	public boolean parseDefinition(Prototype prototype) {
+		boolean result=false;
+		
+		result = parser.readSlot(prototype);
+		
+		return result;
+	}
+	
+	public ILisaacContext getNextContext() {
+		// FIXME skip until next slot !!!!
+		if (parser.skipUntilThisKeyword(ILisaacModel.keyword_section)) {
+			return parser.getSectionContext();
+		}
+		return null;
+	}
+
+}
diff --git a/src/org/eclipse/lisaac/model/items/IArgument.java b/src/org/lisaac/ldt/model/items/IArgument.java
similarity index 61%
rename from src/org/eclipse/lisaac/model/items/IArgument.java
rename to src/org/lisaac/ldt/model/items/IArgument.java
index 60318e7..c0a5457 100644
--- a/src/org/eclipse/lisaac/model/items/IArgument.java
+++ b/src/org/lisaac/ldt/model/items/IArgument.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public interface IArgument extends IVariable {
 
diff --git a/src/org/lisaac/ldt/model/items/ICode.java b/src/org/lisaac/ldt/model/items/ICode.java
new file mode 100644
index 0000000..10b0a21
--- /dev/null
+++ b/src/org/lisaac/ldt/model/items/ICode.java
@@ -0,0 +1,8 @@
+package org.lisaac.ldt.model.items;
+
+import org.lisaac.ldt.model.types.IType;
+
+public interface ICode {
+
+	IType getType(Slot slot, Prototype prototype);
+}
diff --git a/src/org/eclipse/lisaac/model/items/IConstant.java b/src/org/lisaac/ldt/model/items/IConstant.java
similarity index 53%
rename from src/org/eclipse/lisaac/model/items/IConstant.java
rename to src/org/lisaac/ldt/model/items/IConstant.java
index 1747e69..7d25113 100644
--- a/src/org/eclipse/lisaac/model/items/IConstant.java
+++ b/src/org/lisaac/ldt/model/items/IConstant.java
@@ -1,5 +1,5 @@
-package org.eclipse.lisaac.model.items;
-
-public interface IConstant extends ICode {
-
-}
+package org.lisaac.ldt.model.items;
+
+public interface IConstant extends ICode {
+
+}
diff --git a/src/org/eclipse/lisaac/model/items/ITMArgs.java b/src/org/lisaac/ldt/model/items/ITMArgs.java
similarity index 87%
rename from src/org/eclipse/lisaac/model/items/ITMArgs.java
rename to src/org/lisaac/ldt/model/items/ITMArgs.java
index 3a16599..8d4f176 100644
--- a/src/org/eclipse/lisaac/model/items/ITMArgs.java
+++ b/src/org/lisaac/ldt/model/items/ITMArgs.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.Position;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeMulti;
+import org.lisaac.ldt.model.Position;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeMulti;
 
 public class ITMArgs implements IArgument {
 
diff --git a/src/org/eclipse/lisaac/model/items/ITMArgument.java b/src/org/lisaac/ldt/model/items/ITMArgument.java
similarity index 79%
rename from src/org/eclipse/lisaac/model/items/ITMArgument.java
rename to src/org/lisaac/ldt/model/items/ITMArgument.java
index 512d5f0..13dc7dc 100644
--- a/src/org/eclipse/lisaac/model/items/ITMArgument.java
+++ b/src/org/lisaac/ldt/model/items/ITMArgument.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.Position;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.ITypeMono;
+import org.lisaac.ldt.model.Position;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.ITypeMono;
 
 public class ITMArgument implements IArgument {
 	
diff --git a/src/org/eclipse/lisaac/model/items/ITMBlock.java b/src/org/lisaac/ldt/model/items/ITMBlock.java
similarity index 71%
rename from src/org/eclipse/lisaac/model/items/ITMBlock.java
rename to src/org/lisaac/ldt/model/items/ITMBlock.java
index 5713323..a0438c5 100644
--- a/src/org/eclipse/lisaac/model/items/ITMBlock.java
+++ b/src/org/lisaac/ldt/model/items/ITMBlock.java
@@ -1,7 +1,7 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeBlock;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeBlock;
 
 public class ITMBlock implements ICode {
 	protected ITMList list;
diff --git a/src/org/eclipse/lisaac/model/items/ITMCharacter.java b/src/org/lisaac/ldt/model/items/ITMCharacter.java
similarity index 56%
rename from src/org/eclipse/lisaac/model/items/ITMCharacter.java
rename to src/org/lisaac/ldt/model/items/ITMCharacter.java
index 3dc02f6..10b7f07 100644
--- a/src/org/eclipse/lisaac/model/items/ITMCharacter.java
+++ b/src/org/lisaac/ldt/model/items/ITMCharacter.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeSimple;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeSimple;
 
 public class ITMCharacter implements IConstant {
 
diff --git a/src/org/eclipse/lisaac/model/items/ITMExpression.java b/src/org/lisaac/ldt/model/items/ITMExpression.java
similarity index 78%
rename from src/org/eclipse/lisaac/model/items/ITMExpression.java
rename to src/org/lisaac/ldt/model/items/ITMExpression.java
index 4d2cee7..130cf47 100644
--- a/src/org/eclipse/lisaac/model/items/ITMExpression.java
+++ b/src/org/lisaac/ldt/model/items/ITMExpression.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 /**
  * operator list message
diff --git a/src/org/eclipse/lisaac/model/items/ITMExternal.java b/src/org/lisaac/ldt/model/items/ITMExternal.java
similarity index 68%
rename from src/org/eclipse/lisaac/model/items/ITMExternal.java
rename to src/org/lisaac/ldt/model/items/ITMExternal.java
index bc72078..a10a8e6 100644
--- a/src/org/eclipse/lisaac/model/items/ITMExternal.java
+++ b/src/org/lisaac/ldt/model/items/ITMExternal.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public class ITMExternal implements ICode {
 	protected String extern;
diff --git a/src/org/eclipse/lisaac/model/items/ITMExternalType.java b/src/org/lisaac/ldt/model/items/ITMExternalType.java
similarity index 83%
rename from src/org/eclipse/lisaac/model/items/ITMExternalType.java
rename to src/org/lisaac/ldt/model/items/ITMExternalType.java
index 579ea33..5425471 100644
--- a/src/org/eclipse/lisaac/model/items/ITMExternalType.java
+++ b/src/org/lisaac/ldt/model/items/ITMExternalType.java
@@ -1,36 +1,36 @@
-package org.eclipse.lisaac.model.items;
-
-import org.eclipse.lisaac.model.types.ITypeMono;
-
-public class ITMExternalType extends ITMExternal {
-
-	protected ITypeMono type;
-	protected ITypeMono[] typeList;
-	protected boolean persistant;
-	
-	public ITMExternalType(String extern, boolean persistant) {
-		super(extern);
-		this.persistant = persistant;
-	}
-
-	public boolean isPersistant() {
-		return persistant;
-	}
-	
-	public ITypeMono getType(Prototype prototype) {
-		return type;
-	}
-
-	public void setType(ITypeMono type) {
-		this.type = type;
-	}
-
-	public ITypeMono[] getTypeList() {
-		return typeList;
-	}
-
-	public void setTypeList(ITypeMono[] typeList) {
-		this.typeList = typeList;
-	}
-	
-}
+package org.lisaac.ldt.model.items;
+
+import org.lisaac.ldt.model.types.ITypeMono;
+
+public class ITMExternalType extends ITMExternal {
+
+	protected ITypeMono type;
+	protected ITypeMono[] typeList;
+	protected boolean persistant;
+	
+	public ITMExternalType(String extern, boolean persistant) {
+		super(extern);
+		this.persistant = persistant;
+	}
+
+	public boolean isPersistant() {
+		return persistant;
+	}
+	
+	public ITypeMono getType(Prototype prototype) {
+		return type;
+	}
+
+	public void setType(ITypeMono type) {
+		this.type = type;
+	}
+
+	public ITypeMono[] getTypeList() {
+		return typeList;
+	}
+
+	public void setTypeList(ITypeMono[] typeList) {
+		this.typeList = typeList;
+	}
+	
+}
diff --git a/src/org/eclipse/lisaac/model/items/ITMFixme.java b/src/org/lisaac/ldt/model/items/ITMFixme.java
similarity index 55%
rename from src/org/eclipse/lisaac/model/items/ITMFixme.java
rename to src/org/lisaac/ldt/model/items/ITMFixme.java
index ac18e40..1213229 100644
--- a/src/org/eclipse/lisaac/model/items/ITMFixme.java
+++ b/src/org/lisaac/ldt/model/items/ITMFixme.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public class ITMFixme implements ICode {
 
diff --git a/src/org/eclipse/lisaac/model/items/ITMLDots.java b/src/org/lisaac/ldt/model/items/ITMLDots.java
similarity index 55%
rename from src/org/eclipse/lisaac/model/items/ITMLDots.java
rename to src/org/lisaac/ldt/model/items/ITMLDots.java
index 7415819..c2f9f41 100644
--- a/src/org/eclipse/lisaac/model/items/ITMLDots.java
+++ b/src/org/lisaac/ldt/model/items/ITMLDots.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public class ITMLDots implements ICode {
 
diff --git a/src/org/eclipse/lisaac/model/items/ITMList.java b/src/org/lisaac/ldt/model/items/ITMList.java
similarity index 89%
rename from src/org/eclipse/lisaac/model/items/ITMList.java
rename to src/org/lisaac/ldt/model/items/ITMList.java
index 092deaa..6a0e759 100644
--- a/src/org/eclipse/lisaac/model/items/ITMList.java
+++ b/src/org/lisaac/ldt/model/items/ITMList.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public class ITMList implements ICode {
 	protected ICode[] code;
diff --git a/src/org/eclipse/lisaac/model/items/ITMLocal.java b/src/org/lisaac/ldt/model/items/ITMLocal.java
similarity index 78%
rename from src/org/eclipse/lisaac/model/items/ITMLocal.java
rename to src/org/lisaac/ldt/model/items/ITMLocal.java
index 7c58a03..0871bc0 100644
--- a/src/org/eclipse/lisaac/model/items/ITMLocal.java
+++ b/src/org/lisaac/ldt/model/items/ITMLocal.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.Position;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.ITypeMono;
+import org.lisaac.ldt.model.Position;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.ITypeMono;
 
 /**
  * Local declaration slot
diff --git a/src/org/eclipse/lisaac/model/items/ITMNumber.java b/src/org/lisaac/ldt/model/items/ITMNumber.java
similarity index 56%
rename from src/org/eclipse/lisaac/model/items/ITMNumber.java
rename to src/org/lisaac/ldt/model/items/ITMNumber.java
index 7988d56..a605837 100644
--- a/src/org/eclipse/lisaac/model/items/ITMNumber.java
+++ b/src/org/lisaac/ldt/model/items/ITMNumber.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeSimple;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeSimple;
 
 public class ITMNumber implements IConstant {
 
diff --git a/src/org/eclipse/lisaac/model/items/ITMOld.java b/src/org/lisaac/ldt/model/items/ITMOld.java
similarity index 72%
rename from src/org/eclipse/lisaac/model/items/ITMOld.java
rename to src/org/lisaac/ldt/model/items/ITMOld.java
index e42d928..c3cfb16 100644
--- a/src/org/eclipse/lisaac/model/items/ITMOld.java
+++ b/src/org/lisaac/ldt/model/items/ITMOld.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public class ITMOld implements ICode {
 	protected ICode value;
diff --git a/src/org/eclipse/lisaac/model/items/ITMOperator.java b/src/org/lisaac/ldt/model/items/ITMOperator.java
similarity index 73%
rename from src/org/eclipse/lisaac/model/items/ITMOperator.java
rename to src/org/lisaac/ldt/model/items/ITMOperator.java
index 1ec9d14..33610e0 100644
--- a/src/org/eclipse/lisaac/model/items/ITMOperator.java
+++ b/src/org/lisaac/ldt/model/items/ITMOperator.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public class ITMOperator implements ICode {
 	protected String name;
diff --git a/src/org/eclipse/lisaac/model/items/ITMPrototype.java b/src/org/lisaac/ldt/model/items/ITMPrototype.java
similarity index 58%
rename from src/org/eclipse/lisaac/model/items/ITMPrototype.java
rename to src/org/lisaac/ldt/model/items/ITMPrototype.java
index 1d7e958..4353541 100644
--- a/src/org/eclipse/lisaac/model/items/ITMPrototype.java
+++ b/src/org/lisaac/ldt/model/items/ITMPrototype.java
@@ -1,7 +1,7 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.ITypeMono;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.ITypeMono;
 
 public class ITMPrototype implements ICode {
 	protected ITypeMono type;
diff --git a/src/org/eclipse/lisaac/model/items/ITMRead.java b/src/org/lisaac/ldt/model/items/ITMRead.java
similarity index 79%
rename from src/org/eclipse/lisaac/model/items/ITMRead.java
rename to src/org/lisaac/ldt/model/items/ITMRead.java
index 9cca378..55296a9 100644
--- a/src/org/eclipse/lisaac/model/items/ITMRead.java
+++ b/src/org/lisaac/ldt/model/items/ITMRead.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeSimple;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeSimple;
 
 public class ITMRead implements ICode {
 	protected String name;
diff --git a/src/org/eclipse/lisaac/model/items/ITMReadArg1.java b/src/org/lisaac/ldt/model/items/ITMReadArg1.java
similarity index 76%
rename from src/org/eclipse/lisaac/model/items/ITMReadArg1.java
rename to src/org/lisaac/ldt/model/items/ITMReadArg1.java
index 34bd833..f21cb10 100644
--- a/src/org/eclipse/lisaac/model/items/ITMReadArg1.java
+++ b/src/org/lisaac/ldt/model/items/ITMReadArg1.java
@@ -1,11 +1,11 @@
-package org.eclipse.lisaac.model.items;
-
-public class ITMReadArg1 extends ITMRead {
-
-	protected ICode arg;
-	
-	public ITMReadArg1(String name, ICode arg) {
-		super(name);
-		this.arg = arg;
-	}
-}
+package org.lisaac.ldt.model.items;
+
+public class ITMReadArg1 extends ITMRead {
+
+	protected ICode arg;
+	
+	public ITMReadArg1(String name, ICode arg) {
+		super(name);
+		this.arg = arg;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/items/ITMReadArg2.java b/src/org/lisaac/ldt/model/items/ITMReadArg2.java
similarity index 84%
rename from src/org/eclipse/lisaac/model/items/ITMReadArg2.java
rename to src/org/lisaac/ldt/model/items/ITMReadArg2.java
index 252b8c1..182289c 100644
--- a/src/org/eclipse/lisaac/model/items/ITMReadArg2.java
+++ b/src/org/lisaac/ldt/model/items/ITMReadArg2.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.LisaacCompletionParser;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeSimple;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.LisaacCompletionParser;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeSimple;
 
 public class ITMReadArg2 extends ITMRead {
 
diff --git a/src/org/eclipse/lisaac/model/items/ITMReadArgs.java b/src/org/lisaac/ldt/model/items/ITMReadArgs.java
similarity index 77%
rename from src/org/eclipse/lisaac/model/items/ITMReadArgs.java
rename to src/org/lisaac/ldt/model/items/ITMReadArgs.java
index 92731f3..7db355e 100644
--- a/src/org/eclipse/lisaac/model/items/ITMReadArgs.java
+++ b/src/org/lisaac/ldt/model/items/ITMReadArgs.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac.model.items;
-
-public class ITMReadArgs extends ITMRead {
-	protected ICode[] args;
-
-	public ITMReadArgs(String name, ICode[] args) {
-		super(name);
-		this.args = args;
-	}
-}
+package org.lisaac.ldt.model.items;
+
+public class ITMReadArgs extends ITMRead {
+	protected ICode[] args;
+
+	public ITMReadArgs(String name, ICode[] args) {
+		super(name);
+		this.args = args;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/items/ITMReal.java b/src/org/lisaac/ldt/model/items/ITMReal.java
similarity index 55%
rename from src/org/eclipse/lisaac/model/items/ITMReal.java
rename to src/org/lisaac/ldt/model/items/ITMReal.java
index 399ca97..f8cf8f8 100644
--- a/src/org/eclipse/lisaac/model/items/ITMReal.java
+++ b/src/org/lisaac/ldt/model/items/ITMReal.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeSimple;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeSimple;
 
 public class ITMReal implements IConstant {
 
diff --git a/src/org/eclipse/lisaac/model/items/ITMResult.java b/src/org/lisaac/ldt/model/items/ITMResult.java
similarity index 72%
rename from src/org/eclipse/lisaac/model/items/ITMResult.java
rename to src/org/lisaac/ldt/model/items/ITMResult.java
index 3563858..4d216fd 100644
--- a/src/org/eclipse/lisaac/model/items/ITMResult.java
+++ b/src/org/lisaac/ldt/model/items/ITMResult.java
@@ -1,6 +1,6 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.types.IType;
+import org.lisaac.ldt.model.types.IType;
 
 public class ITMResult implements ICode {
 	protected ICode value;
diff --git a/src/org/eclipse/lisaac/model/items/ITMString.java b/src/org/lisaac/ldt/model/items/ITMString.java
similarity index 56%
rename from src/org/eclipse/lisaac/model/items/ITMString.java
rename to src/org/lisaac/ldt/model/items/ITMString.java
index ce2447e..c582e8d 100644
--- a/src/org/eclipse/lisaac/model/items/ITMString.java
+++ b/src/org/lisaac/ldt/model/items/ITMString.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.model.types.TypeSimple;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.model.types.TypeSimple;
 
 public class ITMString implements IConstant {
 
diff --git a/src/org/lisaac/ldt/model/items/IVariable.java b/src/org/lisaac/ldt/model/items/IVariable.java
new file mode 100644
index 0000000..7f660b7
--- /dev/null
+++ b/src/org/lisaac/ldt/model/items/IVariable.java
@@ -0,0 +1,9 @@
+package org.lisaac.ldt.model.items;
+
+import org.lisaac.ldt.model.Position;
+
+public interface IVariable {
+	String getHoverInformation();
+
+	Position getPosition();
+}
diff --git a/src/org/eclipse/lisaac/model/items/Prototype.java b/src/org/lisaac/ldt/model/items/Prototype.java
similarity index 92%
rename from src/org/eclipse/lisaac/model/items/Prototype.java
rename to src/org/lisaac/ldt/model/items/Prototype.java
index c07e11a..a52ac73 100644
--- a/src/org/eclipse/lisaac/model/items/Prototype.java
+++ b/src/org/lisaac/ldt/model/items/Prototype.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
 import java.util.ArrayList;
 import java.util.Collection;
@@ -8,14 +8,14 @@ import java.util.List;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.LisaacCompletionParser;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.LisaacParser;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.outline.OutlineItem;
-import org.eclipse.lisaac.outline.OutlinePrototype;
-import org.eclipse.lisaac.outline.OutlineSlot;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.LisaacCompletionParser;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.LisaacParser;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.outline.OutlineItem;
+import org.lisaac.ldt.outline.OutlinePrototype;
+import org.lisaac.ldt.outline.OutlineSlot;
 
 
 public class Prototype {
diff --git a/src/org/eclipse/lisaac/model/items/Section.java b/src/org/lisaac/ldt/model/items/Section.java
similarity index 88%
rename from src/org/eclipse/lisaac/model/items/Section.java
rename to src/org/lisaac/ldt/model/items/Section.java
index c1fa84b..32bafe9 100644
--- a/src/org/eclipse/lisaac/model/items/Section.java
+++ b/src/org/lisaac/ldt/model/items/Section.java
@@ -1,108 +1,108 @@
-package org.eclipse.lisaac.model.items;
-
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.types.ITypeMono;
-
-public class Section {
-	protected Prototype prototype;
-	
-	protected String name;
-	protected ITypeMono[] typeList;
-
-	public Section(Prototype prototype, String name) {
-		this.name = name;
-		this.prototype = prototype;
-	}
-	
-	public Section(Prototype prototype, ITypeMono[] typeList) {
-		this.typeList = typeList;
-		this.prototype = prototype;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public ITypeMono[] getTypeList() {
-		return typeList;
-	}
-	
-	//
-	// Consultation
-	//
-
-	public boolean isMapping() {
-		if (name == null) {
-			return false;
-		}
-		return name.equals(ILisaacModel.section_mapping);
-	}
-
-	public boolean isPrivate() {
-		if (name == null) {
-			return true;
-		}
-		return name.equals(ILisaacModel.section_private);
-	}
-
-	public boolean isPublic() {
-		if (name != null) {
-			return name.equals(ILisaacModel.section_public);
-		}
-		return false;
-	}
-
-	public boolean isHeader() {
-		if (name == null) {
-			return false;
-		}
-		return name.equals(ILisaacModel.section_header);
-	}
-
-	public boolean isInherit() {
-		if (name == null) {
-			return false;
-		}
-		return name.equals(ILisaacModel.section_inherit);
-	}
-
-	public boolean isInsert() {
-		if (name == null) {
-			return false;
-		}
-		return name.equals(ILisaacModel.section_insert);
-	}
-
-	public boolean isInheritOrInsert() {
-		return isInherit() || isInsert();
-	}
-
-	public boolean isInterrupt() {
-		if (name == null) {
-			return false;
-		}
-		return name.equals(ILisaacModel.section_interrupt);
-	}
-
-	public boolean isDirectory() {
-		if (name == null) {
-			return false;
-		}
-		return name.equals(ILisaacModel.section_directory);
-	}
-
-	public boolean isExternal() {
-		if (name == null) {
-			return false;
-		}
-		return name.equals(ILisaacModel.section_external);
-	}
-
-	public boolean isPrivateStyle() {
-		return !isPublic() && typeList == null;
-	}
-
-	public Prototype getPrototype() {
-		return prototype;
-	}
-}
+package org.lisaac.ldt.model.items;
+
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.types.ITypeMono;
+
+public class Section {
+	protected Prototype prototype;
+	
+	protected String name;
+	protected ITypeMono[] typeList;
+
+	public Section(Prototype prototype, String name) {
+		this.name = name;
+		this.prototype = prototype;
+	}
+	
+	public Section(Prototype prototype, ITypeMono[] typeList) {
+		this.typeList = typeList;
+		this.prototype = prototype;
+	}
+
+	public String getName() {
+		return name;
+	}
+
+	public ITypeMono[] getTypeList() {
+		return typeList;
+	}
+	
+	//
+	// Consultation
+	//
+
+	public boolean isMapping() {
+		if (name == null) {
+			return false;
+		}
+		return name.equals(ILisaacModel.section_mapping);
+	}
+
+	public boolean isPrivate() {
+		if (name == null) {
+			return true;
+		}
+		return name.equals(ILisaacModel.section_private);
+	}
+
+	public boolean isPublic() {
+		if (name != null) {
+			return name.equals(ILisaacModel.section_public);
+		}
+		return false;
+	}
+
+	public boolean isHeader() {
+		if (name == null) {
+			return false;
+		}
+		return name.equals(ILisaacModel.section_header);
+	}
+
+	public boolean isInherit() {
+		if (name == null) {
+			return false;
+		}
+		return name.equals(ILisaacModel.section_inherit);
+	}
+
+	public boolean isInsert() {
+		if (name == null) {
+			return false;
+		}
+		return name.equals(ILisaacModel.section_insert);
+	}
+
+	public boolean isInheritOrInsert() {
+		return isInherit() || isInsert();
+	}
+
+	public boolean isInterrupt() {
+		if (name == null) {
+			return false;
+		}
+		return name.equals(ILisaacModel.section_interrupt);
+	}
+
+	public boolean isDirectory() {
+		if (name == null) {
+			return false;
+		}
+		return name.equals(ILisaacModel.section_directory);
+	}
+
+	public boolean isExternal() {
+		if (name == null) {
+			return false;
+		}
+		return name.equals(ILisaacModel.section_external);
+	}
+
+	public boolean isPrivateStyle() {
+		return !isPublic() && typeList == null;
+	}
+
+	public Prototype getPrototype() {
+		return prototype;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/items/Slot.java b/src/org/lisaac/ldt/model/items/Slot.java
similarity index 93%
rename from src/org/eclipse/lisaac/model/items/Slot.java
rename to src/org/lisaac/ldt/model/items/Slot.java
index 45784ef..0be1c9c 100644
--- a/src/org/eclipse/lisaac/model/items/Slot.java
+++ b/src/org/lisaac/ldt/model/items/Slot.java
@@ -1,14 +1,14 @@
-package org.eclipse.lisaac.model.items;
+package org.lisaac.ldt.model.items;
 
 import java.util.ArrayList;
 
 import org.eclipse.jface.text.contentassist.CompletionProposal;
 import org.eclipse.jface.text.contentassist.ICompletionProposal;
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.model.Position;
-import org.eclipse.lisaac.model.types.IType;
-import org.eclipse.lisaac.outline.OutlineSlot;
 import org.eclipse.swt.graphics.Image;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.model.Position;
+import org.lisaac.ldt.model.types.IType;
+import org.lisaac.ldt.outline.OutlineSlot;
 
 public class Slot  {
 
diff --git a/src/org/eclipse/lisaac/model/lip/LIP.java b/src/org/lisaac/ldt/model/lip/LIP.java
similarity index 93%
rename from src/org/eclipse/lisaac/model/lip/LIP.java
rename to src/org/lisaac/ldt/model/lip/LIP.java
index 0d15db3..3cbcc96 100644
--- a/src/org/eclipse/lisaac/model/lip/LIP.java
+++ b/src/org/lisaac/ldt/model/lip/LIP.java
@@ -1,77 +1,77 @@
-package org.eclipse.lisaac.model.lip;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-public class LIP {
-	
-	private String filename;
-	
-	/** parent lip files */
-	protected ArrayList<String> listParent = new ArrayList<String>();
-	
-	/** lip method list */
-	protected ArrayList<LIPSlotCode> listMethod = new ArrayList<LIPSlotCode>();
-	
-	/** lip data */
-	protected HashMap<String,LIPSlotData> listData = new HashMap<String,LIPSlotData>();
-
-	
-	public LIP(String filename) {
-		this.filename = filename;
-	}
-	
-	public String getFileName() {
-		return filename;
-	}
-	
-	public void addParent(String string) {
-		listParent.add(string);
-	}
-	public void addMethod(LIPSlotCode m) {
-		listMethod.add(m);
-	}
-	public void addData(LIPSlotData data) {
-		listData.put(data.getName(),data);
-	}
-	
-	public String getParent(int i) {
-		return listParent.get(i);
-	}
-	public int getParentCount() {
-		return listParent.size();
-	}
-	
-	public LIPSlotCode getMethod(int i) {
-		return listMethod.get(i);
-	}
-	public int getMethodCount() {
-		return listMethod.size();
-	}
-	
-	public LIPSlotCode getPublicMethod(int index) {
-		int count = 0;
-		for (int i=0; i<getMethodCount(); i++) {
-			LIPSlotCode method = getMethod(i);
-			if (method.isPublic()) {
-				if (index == count) {
-					return method;
-				}
-				count++;
-			}
-		}
-		return null;
-	}
-	
-	public int getPublicMethodCount() {
-		int count = 0;
-		for (int i=0; i<getMethodCount(); i++) {
-			LIPSlotCode method = getMethod(i);
-			if (method.isPublic()) {
-				count++;
-			}
-		}
-		return count;
-	}
-	
-}
+package org.lisaac.ldt.model.lip;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+
+public class LIP {
+	
+	private String filename;
+	
+	/** parent lip files */
+	protected ArrayList<String> listParent = new ArrayList<String>();
+	
+	/** lip method list */
+	protected ArrayList<LIPSlotCode> listMethod = new ArrayList<LIPSlotCode>();
+	
+	/** lip data */
+	protected HashMap<String,LIPSlotData> listData = new HashMap<String,LIPSlotData>();
+
+	
+	public LIP(String filename) {
+		this.filename = filename;
+	}
+	
+	public String getFileName() {
+		return filename;
+	}
+	
+	public void addParent(String string) {
+		listParent.add(string);
+	}
+	public void addMethod(LIPSlotCode m) {
+		listMethod.add(m);
+	}
+	public void addData(LIPSlotData data) {
+		listData.put(data.getName(),data);
+	}
+	
+	public String getParent(int i) {
+		return listParent.get(i);
+	}
+	public int getParentCount() {
+		return listParent.size();
+	}
+	
+	public LIPSlotCode getMethod(int i) {
+		return listMethod.get(i);
+	}
+	public int getMethodCount() {
+		return listMethod.size();
+	}
+	
+	public LIPSlotCode getPublicMethod(int index) {
+		int count = 0;
+		for (int i=0; i<getMethodCount(); i++) {
+			LIPSlotCode method = getMethod(i);
+			if (method.isPublic()) {
+				if (index == count) {
+					return method;
+				}
+				count++;
+			}
+		}
+		return null;
+	}
+	
+	public int getPublicMethodCount() {
+		int count = 0;
+		for (int i=0; i<getMethodCount(); i++) {
+			LIPSlotCode method = getMethod(i);
+			if (method.isPublic()) {
+				count++;
+			}
+		}
+		return count;
+	}
+	
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPAffect.java b/src/org/lisaac/ldt/model/lip/LIPAffect.java
similarity index 80%
rename from src/org/eclipse/lisaac/model/lip/LIPAffect.java
rename to src/org/lisaac/ldt/model/lip/LIPAffect.java
index cca1188..b04d256 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPAffect.java
+++ b/src/org/lisaac/ldt/model/lip/LIPAffect.java
@@ -1,12 +1,12 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPAffect extends LIPCode {
-
-	protected String name;
-	protected LIPCode value;
-	
-	public LIPAffect(String name, LIPCode value) {
-		this.name = name;
-		this.value = value;
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPAffect extends LIPCode {
+
+	protected String name;
+	protected LIPCode value;
+	
+	public LIPAffect(String name, LIPCode value) {
+		this.name = name;
+		this.value = value;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPBinary.java b/src/org/lisaac/ldt/model/lip/LIPBinary.java
similarity index 83%
rename from src/org/eclipse/lisaac/model/lip/LIPBinary.java
rename to src/org/lisaac/ldt/model/lip/LIPBinary.java
index 85b890d..6a8b824 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPBinary.java
+++ b/src/org/lisaac/ldt/model/lip/LIPBinary.java
@@ -1,13 +1,13 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPBinary extends LIPCode {
-
-	protected LIPCode left, right;
-	protected char operator;
-	
-	public LIPBinary(LIPCode left, char operator, LIPCode right) {
-		this.left = left;
-		this.right = right;
-		this.operator = operator;
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPBinary extends LIPCode {
+
+	protected LIPCode left, right;
+	protected char operator;
+	
+	public LIPBinary(LIPCode left, char operator, LIPCode right) {
+		this.left = left;
+		this.right = right;
+		this.operator = operator;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPBoolean.java b/src/org/lisaac/ldt/model/lip/LIPBoolean.java
similarity index 87%
rename from src/org/eclipse/lisaac/model/lip/LIPBoolean.java
rename to src/org/lisaac/ldt/model/lip/LIPBoolean.java
index 6e1a97b..d761782 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPBoolean.java
+++ b/src/org/lisaac/ldt/model/lip/LIPBoolean.java
@@ -1,28 +1,28 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPBoolean extends LIPConstant {
-
-	private static LIPBoolean lipTrue = new LIPBoolean(true);
-	private static LIPBoolean lipFalse = new LIPBoolean(false);
-	
-	protected boolean value;
-
-	LIPBoolean(boolean i) {
-		value = i;
-	}
-
-	public static LIPBoolean get(boolean b) {
-		if (b) {
-			return lipTrue;
-		} else {
-			return lipFalse;
-		}
-	}
-
-	public void free() {;
-	}
-
-	public String getName() {
-		return "BOOLEAN";
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPBoolean extends LIPConstant {
+
+	private static LIPBoolean lipTrue = new LIPBoolean(true);
+	private static LIPBoolean lipFalse = new LIPBoolean(false);
+	
+	protected boolean value;
+
+	LIPBoolean(boolean i) {
+		value = i;
+	}
+
+	public static LIPBoolean get(boolean b) {
+		if (b) {
+			return lipTrue;
+		} else {
+			return lipFalse;
+		}
+	}
+
+	public void free() {;
+	}
+
+	public String getName() {
+		return "BOOLEAN";
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPCall.java b/src/org/lisaac/ldt/model/lip/LIPCall.java
similarity index 80%
rename from src/org/eclipse/lisaac/model/lip/LIPCall.java
rename to src/org/lisaac/ldt/model/lip/LIPCall.java
index e688e20..1503108 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPCall.java
+++ b/src/org/lisaac/ldt/model/lip/LIPCall.java
@@ -1,13 +1,13 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPCall extends LIPCode {
-
-	protected String name;
-	protected LIPCode argument;
-	
-	public LIPCall(String name, LIPCode argument) {
-		this.name = name;
-		this.argument = argument;
-	}
-	
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPCall extends LIPCode {
+
+	protected String name;
+	protected LIPCode argument;
+	
+	public LIPCall(String name, LIPCode argument) {
+		this.name = name;
+		this.argument = argument;
+	}
+	
+}
diff --git a/src/org/lisaac/ldt/model/lip/LIPCode.java b/src/org/lisaac/ldt/model/lip/LIPCode.java
new file mode 100644
index 0000000..d904b37
--- /dev/null
+++ b/src/org/lisaac/ldt/model/lip/LIPCode.java
@@ -0,0 +1,4 @@
+package org.lisaac.ldt.model.lip;
+
+public class LIPCode {
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPConstant.java b/src/org/lisaac/ldt/model/lip/LIPConstant.java
similarity index 71%
rename from src/org/eclipse/lisaac/model/lip/LIPConstant.java
rename to src/org/lisaac/ldt/model/lip/LIPConstant.java
index 3d8ffa7..dec29b2 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPConstant.java
+++ b/src/org/lisaac/ldt/model/lip/LIPConstant.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.lip;
-
-public abstract class LIPConstant {
-
-	public abstract String getName();
-	
-	public abstract void free();
-}
+package org.lisaac.ldt.model.lip;
+
+public abstract class LIPConstant {
+
+	public abstract String getName();
+	
+	public abstract void free();
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPIf.java b/src/org/lisaac/ldt/model/lip/LIPIf.java
similarity index 86%
rename from src/org/eclipse/lisaac/model/lip/LIPIf.java
rename to src/org/lisaac/ldt/model/lip/LIPIf.java
index 7eda13e..e8a37f0 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPIf.java
+++ b/src/org/lisaac/ldt/model/lip/LIPIf.java
@@ -1,15 +1,15 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPIf extends LIPCode {
-	
-	protected LIPCode condition;
-	protected LIPCode[] thenCode;
-	protected LIPCode[] elseCode;
-	
-	public LIPIf(LIPCode condition, LIPCode[] thenCode, LIPCode[] elseCode) {
-		this.condition = condition;
-		this.thenCode = thenCode;
-		this.elseCode = elseCode;
-	}
-	
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPIf extends LIPCode {
+	
+	protected LIPCode condition;
+	protected LIPCode[] thenCode;
+	protected LIPCode[] elseCode;
+	
+	public LIPIf(LIPCode condition, LIPCode[] thenCode, LIPCode[] elseCode) {
+		this.condition = condition;
+		this.thenCode = thenCode;
+		this.elseCode = elseCode;
+	}
+	
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPInteger.java b/src/org/lisaac/ldt/model/lip/LIPInteger.java
similarity index 84%
rename from src/org/eclipse/lisaac/model/lip/LIPInteger.java
rename to src/org/lisaac/ldt/model/lip/LIPInteger.java
index 0f0c8b0..d501039 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPInteger.java
+++ b/src/org/lisaac/ldt/model/lip/LIPInteger.java
@@ -1,23 +1,23 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPInteger extends LIPConstant {
-	
-	protected int value;
-
-	LIPInteger(int i) {
-		value = i;
-	}
-
-	public static LIPInteger get(int i) {
-		// TODO storage..
-		return new LIPInteger(i);
-	}
-	
-	public void free() {
-		// TODO storage.add_last Self;
-	}
-
-	public String getName() {
-		return "INTEGER";
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPInteger extends LIPConstant {
+	
+	protected int value;
+
+	LIPInteger(int i) {
+		value = i;
+	}
+
+	public static LIPInteger get(int i) {
+		// TODO storage..
+		return new LIPInteger(i);
+	}
+	
+	public void free() {
+		// TODO storage.add_last Self;
+	}
+
+	public String getName() {
+		return "INTEGER";
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPPrint.java b/src/org/lisaac/ldt/model/lip/LIPPrint.java
similarity index 75%
rename from src/org/eclipse/lisaac/model/lip/LIPPrint.java
rename to src/org/lisaac/ldt/model/lip/LIPPrint.java
index c02337f..199e025 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPPrint.java
+++ b/src/org/lisaac/ldt/model/lip/LIPPrint.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPPrint extends LIPCode {
-
-	protected LIPCode message;
-
-	public LIPPrint(LIPCode message) {
-		this.message = message;
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPPrint extends LIPCode {
+
+	protected LIPCode message;
+
+	public LIPPrint(LIPCode message) {
+		this.message = message;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPSlotCode.java b/src/org/lisaac/ldt/model/lip/LIPSlotCode.java
similarity index 88%
rename from src/org/eclipse/lisaac/model/lip/LIPSlotCode.java
rename to src/org/lisaac/ldt/model/lip/LIPSlotCode.java
index e410060..3391b14 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPSlotCode.java
+++ b/src/org/lisaac/ldt/model/lip/LIPSlotCode.java
@@ -1,53 +1,53 @@
-package org.eclipse.lisaac.model.lip;
-
-import org.eclipse.lisaac.model.ILisaacModel;
-
-public class LIPSlotCode extends LIPCode {
-	protected String section;
-	
-	protected String name;
-	protected String comment;
-	
-	protected LIPSlotData argument;
-	protected LIPCode[] code;
-	
-	public LIPSlotCode(String section, String name, LIPSlotData argument, LIPCode[] code) {
-		this.section = section;
-		this.name = name;
-		this.argument = argument;
-		this.code = code;
-	}
-	
-	public String getName() {
-		return name;
-	}
-	
-	public String getComment() {
-		return comment;
-	}
-	
-	public void setComment(String comment) {
-		this.comment = comment;
-	}
-	
-	public boolean isPublic() {
-		return section.equals(ILisaacModel.section_public);
-	}
-	
-	public String toString() {
-		StringBuffer result = new StringBuffer("  -");
-		result.append(name);
-		if (argument != null) {
-			result.append(" <");
-			result.append(argument);
-			result.append(">");
-		}
-		result.append(" :\n");
-		if (comment != null) {
-			result.append(comment);
-		} else {
-			result.append("\t Sorry, no comment (see `make.lip').\n");
-		}
-		return result.toString();
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+import org.lisaac.ldt.model.ILisaacModel;
+
+public class LIPSlotCode extends LIPCode {
+	protected String section;
+	
+	protected String name;
+	protected String comment;
+	
+	protected LIPSlotData argument;
+	protected LIPCode[] code;
+	
+	public LIPSlotCode(String section, String name, LIPSlotData argument, LIPCode[] code) {
+		this.section = section;
+		this.name = name;
+		this.argument = argument;
+		this.code = code;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	
+	public String getComment() {
+		return comment;
+	}
+	
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+	
+	public boolean isPublic() {
+		return section.equals(ILisaacModel.section_public);
+	}
+	
+	public String toString() {
+		StringBuffer result = new StringBuffer("  -");
+		result.append(name);
+		if (argument != null) {
+			result.append(" <");
+			result.append(argument);
+			result.append(">");
+		}
+		result.append(" :\n");
+		if (comment != null) {
+			result.append(comment);
+		} else {
+			result.append("\t Sorry, no comment (see `make.lip').\n");
+		}
+		return result.toString();
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPSlotData.java b/src/org/lisaac/ldt/model/lip/LIPSlotData.java
similarity index 89%
rename from src/org/eclipse/lisaac/model/lip/LIPSlotData.java
rename to src/org/lisaac/ldt/model/lip/LIPSlotData.java
index 0ca3134..7ce1087 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPSlotData.java
+++ b/src/org/lisaac/ldt/model/lip/LIPSlotData.java
@@ -1,29 +1,29 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPSlotData extends LIPCode {
-
-	protected String name;
-	protected LIPConstant value;
-	
-	public LIPSlotData(String name, LIPConstant value) {
-		this.name = name;
-		this.value = value;
-		// TODO check double declaration
-	}
-	
-	public String toString() {
-		StringBuffer result = new StringBuffer();
-		result.append(name);
-		result.append(":");
-		result.append(value.getName());
-		return result.toString();
-	}
-
-	public void setValue(LIPConstant value) {
-		this.value = value;
-	}
-
-	public String getName() {
-		return name;
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPSlotData extends LIPCode {
+
+	protected String name;
+	protected LIPConstant value;
+	
+	public LIPSlotData(String name, LIPConstant value) {
+		this.name = name;
+		this.value = value;
+		// TODO check double declaration
+	}
+	
+	public String toString() {
+		StringBuffer result = new StringBuffer();
+		result.append(name);
+		result.append(":");
+		result.append(value.getName());
+		return result.toString();
+	}
+
+	public void setValue(LIPConstant value) {
+		this.value = value;
+	}
+
+	public String getName() {
+		return name;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPString.java b/src/org/lisaac/ldt/model/lip/LIPString.java
similarity index 84%
rename from src/org/eclipse/lisaac/model/lip/LIPString.java
rename to src/org/lisaac/ldt/model/lip/LIPString.java
index ce6b00d..a4b067a 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPString.java
+++ b/src/org/lisaac/ldt/model/lip/LIPString.java
@@ -1,23 +1,23 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPString extends LIPConstant {
-
-	protected String value;
-
-	LIPString(String i) {
-		value = i;
-	}
-
-	public static LIPString get(String i) {
-		// TODO storage..
-		return new LIPString(i);
-	}
-
-	public void free() {
-		// TODO storage.add_last Self;
-	}
-
-	public String getName() {
-		return "STRING";
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPString extends LIPConstant {
+
+	protected String value;
+
+	LIPString(String i) {
+		value = i;
+	}
+
+	public static LIPString get(String i) {
+		// TODO storage..
+		return new LIPString(i);
+	}
+
+	public void free() {
+		// TODO storage.add_last Self;
+	}
+
+	public String getName() {
+		return "STRING";
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPUnary.java b/src/org/lisaac/ldt/model/lip/LIPUnary.java
similarity index 81%
rename from src/org/eclipse/lisaac/model/lip/LIPUnary.java
rename to src/org/lisaac/ldt/model/lip/LIPUnary.java
index 9dc6af5..fb43704 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPUnary.java
+++ b/src/org/lisaac/ldt/model/lip/LIPUnary.java
@@ -1,13 +1,13 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPUnary extends LIPCode {
-
-	protected LIPCode value;
-	protected char operator;
-	
-	public LIPUnary(char operator, LIPCode value) {
-		this.value = value;
-		this.operator = operator;
-	}	
-	
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPUnary extends LIPCode {
+
+	protected LIPCode value;
+	protected char operator;
+	
+	public LIPUnary(char operator, LIPCode value) {
+		this.value = value;
+		this.operator = operator;
+	}	
+	
+}
diff --git a/src/org/eclipse/lisaac/model/lip/LIPValue.java b/src/org/lisaac/ldt/model/lip/LIPValue.java
similarity index 75%
rename from src/org/eclipse/lisaac/model/lip/LIPValue.java
rename to src/org/lisaac/ldt/model/lip/LIPValue.java
index aa8b0be..fd8ecee 100644
--- a/src/org/eclipse/lisaac/model/lip/LIPValue.java
+++ b/src/org/lisaac/ldt/model/lip/LIPValue.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac.model.lip;
-
-public class LIPValue extends LIPCode {
-
-	protected LIPConstant value;
-
-	public LIPValue(LIPConstant value) {
-		this.value = value;
-	}
-}
+package org.lisaac.ldt.model.lip;
+
+public class LIPValue extends LIPCode {
+
+	protected LIPConstant value;
+
+	public LIPValue(LIPConstant value) {
+		this.value = value;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/types/IType.java b/src/org/lisaac/ldt/model/types/IType.java
similarity index 57%
rename from src/org/eclipse/lisaac/model/types/IType.java
rename to src/org/lisaac/ldt/model/types/IType.java
index be7588a..a8f22f4 100644
--- a/src/org/eclipse/lisaac/model/types/IType.java
+++ b/src/org/lisaac/ldt/model/types/IType.java
@@ -1,5 +1,5 @@
-package org.eclipse.lisaac.model.types;
-
-public interface IType {
-	public String toString();
-}
+package org.lisaac.ldt.model.types;
+
+public interface IType {
+	public String toString();
+}
diff --git a/src/org/eclipse/lisaac/model/types/ITypeMono.java b/src/org/lisaac/ldt/model/types/ITypeMono.java
similarity index 53%
rename from src/org/eclipse/lisaac/model/types/ITypeMono.java
rename to src/org/lisaac/ldt/model/types/ITypeMono.java
index 688db83..a6a832d 100644
--- a/src/org/eclipse/lisaac/model/types/ITypeMono.java
+++ b/src/org/lisaac/ldt/model/types/ITypeMono.java
@@ -1,5 +1,5 @@
-package org.eclipse.lisaac.model.types;
-
-public interface ITypeMono extends IType {
-	
-}
+package org.lisaac.ldt.model.types;
+
+public interface ITypeMono extends IType {
+	
+}
diff --git a/src/org/eclipse/lisaac/model/types/TypeBlock.java b/src/org/lisaac/ldt/model/types/TypeBlock.java
similarity index 88%
rename from src/org/eclipse/lisaac/model/types/TypeBlock.java
rename to src/org/lisaac/ldt/model/types/TypeBlock.java
index ed13995..ce14ac1 100644
--- a/src/org/eclipse/lisaac/model/types/TypeBlock.java
+++ b/src/org/lisaac/ldt/model/types/TypeBlock.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.types;
+package org.lisaac.ldt.model.types;
 
 import java.util.*;
 
-import org.eclipse.lisaac.model.ILisaacModel;
+import org.lisaac.ldt.model.ILisaacModel;
 
 /**
  * Type block definition
diff --git a/src/org/eclipse/lisaac/model/types/TypeGeneric.java b/src/org/lisaac/ldt/model/types/TypeGeneric.java
similarity index 80%
rename from src/org/eclipse/lisaac/model/types/TypeGeneric.java
rename to src/org/lisaac/ldt/model/types/TypeGeneric.java
index 9151da9..cac0367 100644
--- a/src/org/eclipse/lisaac/model/types/TypeGeneric.java
+++ b/src/org/lisaac/ldt/model/types/TypeGeneric.java
@@ -1,11 +1,11 @@
-package org.eclipse.lisaac.model.types;
-
-public class TypeGeneric extends TypeStyle {
-
-	protected ITypeMono[] listType;
-	
-	public TypeGeneric(String name, String style, ITypeMono[] lt) {
-		super(name, style);
-		listType = lt;
-	}
-}
+package org.lisaac.ldt.model.types;
+
+public class TypeGeneric extends TypeStyle {
+
+	protected ITypeMono[] listType;
+	
+	public TypeGeneric(String name, String style, ITypeMono[] lt) {
+		super(name, style);
+		listType = lt;
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/types/TypeMulti.java b/src/org/lisaac/ldt/model/types/TypeMulti.java
similarity index 90%
rename from src/org/eclipse/lisaac/model/types/TypeMulti.java
rename to src/org/lisaac/ldt/model/types/TypeMulti.java
index e38d841..ed94250 100644
--- a/src/org/eclipse/lisaac/model/types/TypeMulti.java
+++ b/src/org/lisaac/ldt/model/types/TypeMulti.java
@@ -1,48 +1,48 @@
-package org.eclipse.lisaac.model.types;
-
-import java.util.*;
-
-/**
- * List of type
- */
-public class TypeMulti implements IType {
-
-	private static List<TypeMulti> dico;
-	
-	protected ITypeMono[] listType;
-
-	public TypeMulti(ITypeMono[] lst) {
-		listType = lst;
-	}
-
-	public ITypeMono[] getTypeList() {
-		return listType;
-	}
-	
-	public IType getSubType(int index) {
-		return listType[index];
-	}
-	
-	public static IType get(ITypeMono[] lst) {
-		TypeMulti result=null;
-		
-		if (dico == null) {
-			dico = new ArrayList<TypeMulti>();
-		}
-		int idx = 0;
-		while (idx < dico.size() && !dico.get(idx).getTypeList().equals(lst)) {
-			idx++;
-		}
-		if (idx <= dico.size()-1) {
-			result = dico.get(idx);
-		} else {
-			result = new TypeMulti(lst);
-			dico.add(result);
-		}
-		return result;
-	}
-	
-	public String toString() {
-		return "(...)"; // TODO multi type print
-	}
-}
+package org.lisaac.ldt.model.types;
+
+import java.util.*;
+
+/**
+ * List of type
+ */
+public class TypeMulti implements IType {
+
+	private static List<TypeMulti> dico;
+	
+	protected ITypeMono[] listType;
+
+	public TypeMulti(ITypeMono[] lst) {
+		listType = lst;
+	}
+
+	public ITypeMono[] getTypeList() {
+		return listType;
+	}
+	
+	public IType getSubType(int index) {
+		return listType[index];
+	}
+	
+	public static IType get(ITypeMono[] lst) {
+		TypeMulti result=null;
+		
+		if (dico == null) {
+			dico = new ArrayList<TypeMulti>();
+		}
+		int idx = 0;
+		while (idx < dico.size() && !dico.get(idx).getTypeList().equals(lst)) {
+			idx++;
+		}
+		if (idx <= dico.size()-1) {
+			result = dico.get(idx);
+		} else {
+			result = new TypeMulti(lst);
+			dico.add(result);
+		}
+		return result;
+	}
+	
+	public String toString() {
+		return "(...)"; // TODO multi type print
+	}
+}
diff --git a/src/org/eclipse/lisaac/model/types/TypeParameter.java b/src/org/lisaac/ldt/model/types/TypeParameter.java
similarity index 76%
rename from src/org/eclipse/lisaac/model/types/TypeParameter.java
rename to src/org/lisaac/ldt/model/types/TypeParameter.java
index 2df4747..1387547 100644
--- a/src/org/eclipse/lisaac/model/types/TypeParameter.java
+++ b/src/org/lisaac/ldt/model/types/TypeParameter.java
@@ -1,12 +1,12 @@
-package org.eclipse.lisaac.model.types;
-
-/**
- * Parameter type for argument define.
- */
-public class TypeParameter extends TypeSimple {
-
-	public TypeParameter(String name) {
-		super(name);
-	}
-	
-}
+package org.lisaac.ldt.model.types;
+
+/**
+ * Parameter type for argument define.
+ */
+public class TypeParameter extends TypeSimple {
+
+	public TypeParameter(String name) {
+		super(name);
+	}
+	
+}
diff --git a/src/org/eclipse/lisaac/model/types/TypeSimple.java b/src/org/lisaac/ldt/model/types/TypeSimple.java
similarity index 90%
rename from src/org/eclipse/lisaac/model/types/TypeSimple.java
rename to src/org/lisaac/ldt/model/types/TypeSimple.java
index b61d62b..52ec96c 100644
--- a/src/org/eclipse/lisaac/model/types/TypeSimple.java
+++ b/src/org/lisaac/ldt/model/types/TypeSimple.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.model.types;
+package org.lisaac.ldt.model.types;
 
 import java.util.HashMap;
 
-import org.eclipse.lisaac.model.ILisaacModel;
+import org.lisaac.ldt.model.ILisaacModel;
 
 public class TypeSimple implements ITypeMono {
 	
diff --git a/src/org/eclipse/lisaac/model/types/TypeStyle.java b/src/org/lisaac/ldt/model/types/TypeStyle.java
similarity index 90%
rename from src/org/eclipse/lisaac/model/types/TypeStyle.java
rename to src/org/lisaac/ldt/model/types/TypeStyle.java
index 2a8ba9c..d332dc6 100644
--- a/src/org/eclipse/lisaac/model/types/TypeStyle.java
+++ b/src/org/lisaac/ldt/model/types/TypeStyle.java
@@ -1,43 +1,43 @@
-package org.eclipse.lisaac.model.types;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Type with style
- */
-public class TypeStyle extends TypeSimple {
-
-	private static List<TypeStyle> dico;
-	
-	protected String style;
-	
-	TypeStyle(String name, String style) {
-		super(name);
-		this.style = style;
-	}
-	
-	public String getStyle() {
-		return style;
-	}
-	
-	public static TypeStyle get(String n, String s) {
-		TypeStyle result=null;
-		
-		if (dico == null) {
-			dico = new ArrayList<TypeStyle>();
-		}
-		int idx = 0;
-		while (idx < dico.size() && 
-				(!dico.get(idx).getName().equals(n) || !dico.get(idx).getStyle().equals(s))) {
-			idx++;
-		}
-		if (idx <= dico.size()-1) {
-			result = dico.get(idx);
-		} else {
-			result = new TypeStyle(n, s);
-			dico.add(result);
-		}
-		return result;
-	}
-}
+package org.lisaac.ldt.model.types;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Type with style
+ */
+public class TypeStyle extends TypeSimple {
+
+	private static List<TypeStyle> dico;
+	
+	protected String style;
+	
+	TypeStyle(String name, String style) {
+		super(name);
+		this.style = style;
+	}
+	
+	public String getStyle() {
+		return style;
+	}
+	
+	public static TypeStyle get(String n, String s) {
+		TypeStyle result=null;
+		
+		if (dico == null) {
+			dico = new ArrayList<TypeStyle>();
+		}
+		int idx = 0;
+		while (idx < dico.size() && 
+				(!dico.get(idx).getName().equals(n) || !dico.get(idx).getStyle().equals(s))) {
+			idx++;
+		}
+		if (idx <= dico.size()-1) {
+			result = dico.get(idx);
+		} else {
+			result = new TypeStyle(n, s);
+			dico.add(result);
+		}
+		return result;
+	}
+}
diff --git a/src/org/eclipse/lisaac/outline/OutlineContentProvider.java b/src/org/lisaac/ldt/outline/OutlineContentProvider.java
similarity index 94%
rename from src/org/eclipse/lisaac/outline/OutlineContentProvider.java
rename to src/org/lisaac/ldt/outline/OutlineContentProvider.java
index a3c939e..1142b93 100644
--- a/src/org/eclipse/lisaac/outline/OutlineContentProvider.java
+++ b/src/org/lisaac/ldt/outline/OutlineContentProvider.java
@@ -1,53 +1,53 @@
-package org.eclipse.lisaac.outline;
-
-import java.util.List;
-
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-
-public class OutlineContentProvider implements ITreeContentProvider {
-
-	/**
-     * @see ITreeContentProvider#getChildren(Object)
-     */
-    public Object[] getChildren(Object parentElement) {
-        if (parentElement instanceof OutlineItem) {
-            OutlineItem outlineElement = (OutlineItem) parentElement;
-            List<OutlineItem> children = outlineElement.getChildren();
-            if (children != null) {
-            	return children.toArray(new Object[children.size()]);
-            }
-        } else if (parentElement instanceof Object[]) {
-            return ((Object[]) parentElement);
-        }
-        return new Object[0];
-    }
-
-
-	 /**
-     * @see ITreeContentProvider#getParent(Object)
-     */
-    public Object getParent(Object element) {
-        return null;
-    }
-
-	 /**
-     * @see ITreeContentProvider#hasChildren(Object)
-     */
-	public boolean hasChildren(Object element) {
-        return (getChildren(element).length > 0);
-    }
-
-	 /**
-     * @see IStructuredContentProvider#getElements(Object)
-     */
-    public Object[] getElements(Object inputElement) {
-        return getChildren(inputElement);
-    }
-
-	public void dispose() {
-	}
-
-	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-	}
-}
+package org.lisaac.ldt.outline;
+
+import java.util.List;
+
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+public class OutlineContentProvider implements ITreeContentProvider {
+
+	/**
+     * @see ITreeContentProvider#getChildren(Object)
+     */
+    public Object[] getChildren(Object parentElement) {
+        if (parentElement instanceof OutlineItem) {
+            OutlineItem outlineElement = (OutlineItem) parentElement;
+            List<OutlineItem> children = outlineElement.getChildren();
+            if (children != null) {
+            	return children.toArray(new Object[children.size()]);
+            }
+        } else if (parentElement instanceof Object[]) {
+            return ((Object[]) parentElement);
+        }
+        return new Object[0];
+    }
+
+
+	 /**
+     * @see ITreeContentProvider#getParent(Object)
+     */
+    public Object getParent(Object element) {
+        return null;
+    }
+
+	 /**
+     * @see ITreeContentProvider#hasChildren(Object)
+     */
+	public boolean hasChildren(Object element) {
+        return (getChildren(element).length > 0);
+    }
+
+	 /**
+     * @see IStructuredContentProvider#getElements(Object)
+     */
+    public Object[] getElements(Object inputElement) {
+        return getChildren(inputElement);
+    }
+
+	public void dispose() {
+	}
+
+	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+	}
+}
diff --git a/src/org/eclipse/lisaac/outline/OutlineImages.java b/src/org/lisaac/ldt/outline/OutlineImages.java
similarity index 89%
rename from src/org/eclipse/lisaac/outline/OutlineImages.java
rename to src/org/lisaac/ldt/outline/OutlineImages.java
index 5021a75..2ce4b05 100644
--- a/src/org/eclipse/lisaac/outline/OutlineImages.java
+++ b/src/org/lisaac/ldt/outline/OutlineImages.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.outline;
+package org.lisaac.ldt.outline;
 
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.lisaac.LisaacPlugin;
 import org.eclipse.swt.graphics.Image;
+import org.lisaac.ldt.LisaacPlugin;
 
 public class OutlineImages {
 	public static final Image PROTOTYPE = getImage("/icons/prototype.gif");
diff --git a/src/org/eclipse/lisaac/outline/OutlineItem.java b/src/org/lisaac/ldt/outline/OutlineItem.java
similarity index 91%
rename from src/org/eclipse/lisaac/outline/OutlineItem.java
rename to src/org/lisaac/ldt/outline/OutlineItem.java
index ffbab67..3db0ab6 100644
--- a/src/org/eclipse/lisaac/outline/OutlineItem.java
+++ b/src/org/lisaac/ldt/outline/OutlineItem.java
@@ -1,37 +1,37 @@
-package org.eclipse.lisaac.outline;
-
-import java.util.List;
-import org.eclipse.swt.graphics.Image;
-
-public abstract class OutlineItem {
-	
-	protected int fstartOffset;
-	protected int fLength;
-	
-	/**
-     * Returns the image which corresponds to the element, null otherwise.
-     * @see ILabelProvider#getImage(Object)
-     */
-    public abstract Image getImage();
-    
-	
-	/**
-     * Returns the label which corresponds to the element, null otherwise.
-     * @see ILabelProvider#getText(Object)
-     */
-    public abstract String getText();
-	
-	/**
-     * Returns the children of this element.
-     */
-    public abstract List<OutlineItem> getChildren();
-
-
-	public int startOffset() {
-		return fstartOffset;
-	}
-
-	public int length() {
-		return fLength;
-	}
-}
+package org.lisaac.ldt.outline;
+
+import java.util.List;
+import org.eclipse.swt.graphics.Image;
+
+public abstract class OutlineItem {
+	
+	protected int fstartOffset;
+	protected int fLength;
+	
+	/**
+     * Returns the image which corresponds to the element, null otherwise.
+     * @see ILabelProvider#getImage(Object)
+     */
+    public abstract Image getImage();
+    
+	
+	/**
+     * Returns the label which corresponds to the element, null otherwise.
+     * @see ILabelProvider#getText(Object)
+     */
+    public abstract String getText();
+	
+	/**
+     * Returns the children of this element.
+     */
+    public abstract List<OutlineItem> getChildren();
+
+
+	public int startOffset() {
+		return fstartOffset;
+	}
+
+	public int length() {
+		return fLength;
+	}
+}
diff --git a/src/org/eclipse/lisaac/outline/OutlineLabelProvider.java b/src/org/lisaac/ldt/outline/OutlineLabelProvider.java
similarity index 94%
rename from src/org/eclipse/lisaac/outline/OutlineLabelProvider.java
rename to src/org/lisaac/ldt/outline/OutlineLabelProvider.java
index e34945c..a12d01b 100644
--- a/src/org/eclipse/lisaac/outline/OutlineLabelProvider.java
+++ b/src/org/lisaac/ldt/outline/OutlineLabelProvider.java
@@ -1,41 +1,41 @@
-package org.eclipse.lisaac.outline;
-
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.graphics.Image;
-
-public class OutlineLabelProvider extends LabelProvider  {
-	
-	/**
-     * @see WorkbenchLabelProvider#getImage(Object)
-     * @param element the element for which an image is created
-     * @return the image associated to the element
-     */
-    public Image getImage(Object element) {
-        if (element instanceof OutlineItem) {
-            OutlineItem item = (OutlineItem) element;
-            Image image = item.getImage();
-            
-            if (image != null) {
-                return image;
-            }
-        }
-        return OutlineImages.BLANK;
-    }
-
-    /**
-     * @see WorkbenchLabelProvider#getText(Object)
-     * @param element the element for which a label is created
-     * @return the label associated to the element
-     */
-    public String getText(Object element) {
-        if (element instanceof OutlineItem) {
-            OutlineItem item = (OutlineItem) element;
-            return item.getText();
-        }
-        if (element != null) {
-            return element.toString();
-        } else {
-            return new String();
-        }
-    }
-}
+package org.lisaac.ldt.outline;
+
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+public class OutlineLabelProvider extends LabelProvider  {
+	
+	/**
+     * @see WorkbenchLabelProvider#getImage(Object)
+     * @param element the element for which an image is created
+     * @return the image associated to the element
+     */
+    public Image getImage(Object element) {
+        if (element instanceof OutlineItem) {
+            OutlineItem item = (OutlineItem) element;
+            Image image = item.getImage();
+            
+            if (image != null) {
+                return image;
+            }
+        }
+        return OutlineImages.BLANK;
+    }
+
+    /**
+     * @see WorkbenchLabelProvider#getText(Object)
+     * @param element the element for which a label is created
+     * @return the label associated to the element
+     */
+    public String getText(Object element) {
+        if (element instanceof OutlineItem) {
+            OutlineItem item = (OutlineItem) element;
+            return item.getText();
+        }
+        if (element != null) {
+            return element.toString();
+        } else {
+            return new String();
+        }
+    }
+}
diff --git a/src/org/eclipse/lisaac/outline/OutlinePrototype.java b/src/org/lisaac/ldt/outline/OutlinePrototype.java
similarity index 87%
rename from src/org/eclipse/lisaac/outline/OutlinePrototype.java
rename to src/org/lisaac/ldt/outline/OutlinePrototype.java
index e50a8a4..9d5f3fe 100644
--- a/src/org/eclipse/lisaac/outline/OutlinePrototype.java
+++ b/src/org/lisaac/ldt/outline/OutlinePrototype.java
@@ -1,42 +1,42 @@
-package org.eclipse.lisaac.outline;
-
-import java.util.List;
-
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.swt.graphics.Image;
-
-public class OutlinePrototype extends OutlineItem {
-	protected String name;
-	
-	protected List<OutlineItem> slots;
-	
-	
-	public OutlinePrototype(Prototype prototype, List<OutlineItem> slots) {
-		name = prototype.getName();
-		this.slots = slots;
-	}
-	
-	/**
-     * Returns the label which corresponds to the element, null otherwise.
-     * @see ILabelProvider#getText(Object)
-     */
-    public String getText() {
-    	return name;
-    }
-    
-    public String toString() {
-    	return name;
-    }
-    
-    /**
-     * Returns the image which corresponds to the element, null otherwise.
-     * @see ILabelProvider#getImage(Object)
-     */
-    public Image getImage() {
-    	return OutlineImages.PROTOTYPE;
-    }
-    
-	public List<OutlineItem> getChildren() {
-		return slots;
-	}
-}
+package org.lisaac.ldt.outline;
+
+import java.util.List;
+
+import org.eclipse.swt.graphics.Image;
+import org.lisaac.ldt.model.items.Prototype;
+
+public class OutlinePrototype extends OutlineItem {
+	protected String name;
+	
+	protected List<OutlineItem> slots;
+	
+	
+	public OutlinePrototype(Prototype prototype, List<OutlineItem> slots) {
+		name = prototype.getName();
+		this.slots = slots;
+	}
+	
+	/**
+     * Returns the label which corresponds to the element, null otherwise.
+     * @see ILabelProvider#getText(Object)
+     */
+    public String getText() {
+    	return name;
+    }
+    
+    public String toString() {
+    	return name;
+    }
+    
+    /**
+     * Returns the image which corresponds to the element, null otherwise.
+     * @see ILabelProvider#getImage(Object)
+     */
+    public Image getImage() {
+    	return OutlineImages.PROTOTYPE;
+    }
+    
+	public List<OutlineItem> getChildren() {
+		return slots;
+	}
+}
diff --git a/src/org/eclipse/lisaac/outline/OutlineSlot.java b/src/org/lisaac/ldt/outline/OutlineSlot.java
similarity index 85%
rename from src/org/eclipse/lisaac/outline/OutlineSlot.java
rename to src/org/lisaac/ldt/outline/OutlineSlot.java
index b46355e..faa3d45 100644
--- a/src/org/eclipse/lisaac/outline/OutlineSlot.java
+++ b/src/org/lisaac/ldt/outline/OutlineSlot.java
@@ -1,11 +1,11 @@
-package org.eclipse.lisaac.outline;
+package org.lisaac.ldt.outline;
 
 import java.util.List;
 
-import org.eclipse.lisaac.model.Position;
-import org.eclipse.lisaac.model.items.Slot;
-import org.eclipse.lisaac.model.types.IType;
 import org.eclipse.swt.graphics.Image;
+import org.lisaac.ldt.model.Position;
+import org.lisaac.ldt.model.items.Slot;
+import org.lisaac.ldt.model.types.IType;
 
 public class OutlineSlot extends OutlineItem {
 
diff --git a/src/org/eclipse/lisaac/perspectives/LisaacPerspective.java b/src/org/lisaac/ldt/perspectives/LisaacPerspective.java
similarity index 98%
rename from src/org/eclipse/lisaac/perspectives/LisaacPerspective.java
rename to src/org/lisaac/ldt/perspectives/LisaacPerspective.java
index 43a93a8..19e8b27 100644
--- a/src/org/eclipse/lisaac/perspectives/LisaacPerspective.java
+++ b/src/org/lisaac/ldt/perspectives/LisaacPerspective.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.lisaac.perspectives;
+package org.lisaac.ldt.perspectives;
 
 import org.eclipse.ui.IFolderLayout;
 import org.eclipse.ui.IPageLayout;
diff --git a/src/org/eclipse/lisaac/preferences/LisaacColoringPage.java b/src/org/lisaac/ldt/preferences/LisaacColoringPage.java
similarity index 78%
rename from src/org/eclipse/lisaac/preferences/LisaacColoringPage.java
rename to src/org/lisaac/ldt/preferences/LisaacColoringPage.java
index 016556c..b6cd471 100644
--- a/src/org/eclipse/lisaac/preferences/LisaacColoringPage.java
+++ b/src/org/lisaac/ldt/preferences/LisaacColoringPage.java
@@ -1,14 +1,14 @@
-package org.eclipse.lisaac.preferences;
+package org.lisaac.ldt.preferences;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.jface.preference.*;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.editors.ILisaacColor;
 import org.eclipse.ui.*;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.editors.ILisaacColor;
 
 /**
  * Lisaac Syntax coloring preference page.
@@ -47,11 +47,17 @@ implements IWorkbenchPreferencePage {
 				ILisaacColor.PREF_KEYWORD,
 				LisaacMessages.getString("LisaacColoringPage.5"), g)); //$NON-NLS-1$
 		addField(new ColorFieldEditor(
+				ILisaacColor.PREF_SLOT,
+				LisaacMessages.getString("LisaacColoringPage.11"), g));		 //$NON-NLS-1$
+		addField(new ColorFieldEditor(
+				ILisaacColor.PREF_LOCAL_SLOT,
+				LisaacMessages.getString("LisaacColoringPage.12"), g));		 //$NON-NLS-1$
+		addField(new ColorFieldEditor(
 				ILisaacColor.PREF_CHARACTER,
 				LisaacMessages.getString("LisaacColoringPage.6"), g)); //$NON-NLS-1$
 		addField(new ColorFieldEditor(
-						ILisaacColor.PREF_STRING,
-						LisaacMessages.getString("LisaacColoringPage.7"), g)); //$NON-NLS-1$
+				ILisaacColor.PREF_STRING,
+				LisaacMessages.getString("LisaacColoringPage.7"), g)); //$NON-NLS-1$
 		addField(new ColorFieldEditor(
 				ILisaacColor.PREF_NUMBER,
 				LisaacMessages.getString("LisaacColoringPage.8"), g));	 //$NON-NLS-1$
@@ -61,9 +67,7 @@ implements IWorkbenchPreferencePage {
 		addField(new ColorFieldEditor(
 				ILisaacColor.PREF_EXTERNAL,
 				LisaacMessages.getString("LisaacColoringPage.10"), g));	 //$NON-NLS-1$
-		addField(new ColorFieldEditor(
-						ILisaacColor.PREF_DEFAULT_COLOR,
-						LisaacMessages.getString("LisaacColoringPage.11"), g));		 //$NON-NLS-1$
+		
 	}
 	
 	public void init(IWorkbench workbench) {
diff --git a/src/org/eclipse/lisaac/preferences/LisaacEditorPage.java b/src/org/lisaac/ldt/preferences/LisaacEditorPage.java
similarity index 90%
rename from src/org/eclipse/lisaac/preferences/LisaacEditorPage.java
rename to src/org/lisaac/ldt/preferences/LisaacEditorPage.java
index 15d3c80..c86bd8e 100644
--- a/src/org/eclipse/lisaac/preferences/LisaacEditorPage.java
+++ b/src/org/lisaac/ldt/preferences/LisaacEditorPage.java
@@ -1,13 +1,13 @@
-package org.eclipse.lisaac.preferences;
+package org.lisaac.ldt.preferences;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.jface.preference.*;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.LisaacPlugin;
 import org.eclipse.ui.*;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.LisaacPlugin;
 
 /**
  * Lisaac Syntax coloring preference page.
diff --git a/src/org/eclipse/lisaac/preferences/LisaacPreferencePage.java b/src/org/lisaac/ldt/preferences/LisaacPreferencePage.java
similarity index 95%
rename from src/org/eclipse/lisaac/preferences/LisaacPreferencePage.java
rename to src/org/lisaac/ldt/preferences/LisaacPreferencePage.java
index a23f0e0..30c7f2b 100644
--- a/src/org/eclipse/lisaac/preferences/LisaacPreferencePage.java
+++ b/src/org/lisaac/ldt/preferences/LisaacPreferencePage.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac.preferences;
+package org.lisaac.ldt.preferences;
 
 import org.eclipse.jface.preference.*;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.LisaacPlugin;
 import org.eclipse.ui.IWorkbenchPreferencePage;
 import org.eclipse.ui.IWorkbench;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.LisaacPlugin;
 
 /**
  * This class represents a preference page that
diff --git a/src/org/eclipse/lisaac/preferences/LisaacTemplatePage.java b/src/org/lisaac/ldt/preferences/LisaacTemplatePage.java
similarity index 85%
rename from src/org/eclipse/lisaac/preferences/LisaacTemplatePage.java
rename to src/org/lisaac/ldt/preferences/LisaacTemplatePage.java
index a1b032e..40c6da9 100644
--- a/src/org/eclipse/lisaac/preferences/LisaacTemplatePage.java
+++ b/src/org/lisaac/ldt/preferences/LisaacTemplatePage.java
@@ -1,8 +1,8 @@
-package org.eclipse.lisaac.preferences;
+package org.lisaac.ldt.preferences;
 
 
-import org.eclipse.lisaac.LisaacPlugin;
 import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
+import org.lisaac.ldt.LisaacPlugin;
 
 
 public class LisaacTemplatePage extends TemplatePreferencePage {
diff --git a/src/org/eclipse/lisaac/preferences/PreferenceConstants.java b/src/org/lisaac/ldt/preferences/PreferenceConstants.java
similarity index 93%
rename from src/org/eclipse/lisaac/preferences/PreferenceConstants.java
rename to src/org/lisaac/ldt/preferences/PreferenceConstants.java
index a7fafeb..78ea432 100644
--- a/src/org/eclipse/lisaac/preferences/PreferenceConstants.java
+++ b/src/org/lisaac/ldt/preferences/PreferenceConstants.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.preferences;
+package org.lisaac.ldt.preferences;
 
 /**
  * Constant definitions for plug-in preferences
diff --git a/src/org/eclipse/lisaac/preferences/PreferenceInitializer.java b/src/org/lisaac/ldt/preferences/PreferenceInitializer.java
similarity index 88%
rename from src/org/eclipse/lisaac/preferences/PreferenceInitializer.java
rename to src/org/lisaac/ldt/preferences/PreferenceInitializer.java
index c03f3e9..6b48f77 100644
--- a/src/org/eclipse/lisaac/preferences/PreferenceInitializer.java
+++ b/src/org/lisaac/ldt/preferences/PreferenceInitializer.java
@@ -1,10 +1,10 @@
-package org.eclipse.lisaac.preferences;
+package org.lisaac.ldt.preferences;
 
 import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.resource.StringConverter;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.editors.ILisaacColor;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.editors.ILisaacColor;
 
 
 /**
@@ -40,6 +40,12 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
 				ILisaacColor.PREF_KEYWORD,
 				StringConverter.asString(ILisaacColor.KEYWORD));
 		store.setDefault(
+				ILisaacColor.PREF_SLOT,
+				StringConverter.asString(ILisaacColor.UNDEFINED));
+		store.setDefault(
+				ILisaacColor.PREF_LOCAL_SLOT,
+				StringConverter.asString(ILisaacColor.DEFAULT));
+		store.setDefault(
 				ILisaacColor.PREF_CHARACTER,
 				StringConverter.asString(ILisaacColor.CHARACTER));
 		store.setDefault(
@@ -54,9 +60,6 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer {
 		store.setDefault(
 				ILisaacColor.PREF_EXTERNAL,
 				StringConverter.asString(ILisaacColor.EXTERNAL));
-		store.setDefault(
-				ILisaacColor.PREF_DEFAULT_COLOR,
-				StringConverter.asString(ILisaacColor.DEFAULT));
 	}
 }
 
diff --git a/src/org/eclipse/lisaac/properties/LisaacProjectPropertyPage.java b/src/org/lisaac/ldt/properties/LisaacProjectPropertyPage.java
similarity index 94%
rename from src/org/eclipse/lisaac/properties/LisaacProjectPropertyPage.java
rename to src/org/lisaac/ldt/properties/LisaacProjectPropertyPage.java
index 84e30f7..5e4f36a 100644
--- a/src/org/eclipse/lisaac/properties/LisaacProjectPropertyPage.java
+++ b/src/org/lisaac/ldt/properties/LisaacProjectPropertyPage.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.properties;
+package org.lisaac.ldt.properties;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -6,8 +6,6 @@ import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.QualifiedName;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.model.LisaacModel;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -23,6 +21,8 @@ import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.dialogs.ContainerSelectionDialog;
 import org.eclipse.ui.dialogs.PropertyPage;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.model.LisaacModel;
 
 public class LisaacProjectPropertyPage extends PropertyPage {
 
diff --git a/src/org/eclipse/lisaac/templates/LisaacContextType.java b/src/org/lisaac/ldt/templates/LisaacContextType.java
similarity index 83%
rename from src/org/eclipse/lisaac/templates/LisaacContextType.java
rename to src/org/lisaac/ldt/templates/LisaacContextType.java
index 4bd76f0..8e05588 100644
--- a/src/org/eclipse/lisaac/templates/LisaacContextType.java
+++ b/src/org/lisaac/ldt/templates/LisaacContextType.java
@@ -1,11 +1,11 @@
-package org.eclipse.lisaac.templates;
+package org.lisaac.ldt.templates;
 
 import org.eclipse.jface.text.templates.GlobalTemplateVariables;
 import org.eclipse.jface.text.templates.TemplateContextType;
 
 public class LisaacContextType extends TemplateContextType {
 	/** This context's id */
-	public static final String ID_CONTEXT_TYPE= "org.eclipse.lisaac.contexttype"; //$NON-NLS-1$
+	public static final String ID_CONTEXT_TYPE= "org.lisaac.ldt.contexttype"; //$NON-NLS-1$
 
 	/**
 	 * Creates a new Lisaac context type.
diff --git a/src/org/eclipse/lisaac/templates/LisaacTemplateProcessor.java b/src/org/lisaac/ldt/templates/LisaacTemplateProcessor.java
similarity index 92%
rename from src/org/eclipse/lisaac/templates/LisaacTemplateProcessor.java
rename to src/org/lisaac/ldt/templates/LisaacTemplateProcessor.java
index 5bbed9d..a691a5c 100644
--- a/src/org/eclipse/lisaac/templates/LisaacTemplateProcessor.java
+++ b/src/org/lisaac/ldt/templates/LisaacTemplateProcessor.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.templates;
+package org.lisaac.ldt.templates;
 
 
 import org.eclipse.jface.resource.ImageDescriptor;
@@ -10,8 +10,8 @@ import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.templates.Template;
 import org.eclipse.jface.text.templates.TemplateCompletionProcessor;
 import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.lisaac.LisaacPlugin;
 import org.eclipse.swt.graphics.Image;
+import org.lisaac.ldt.LisaacPlugin;
 
 public class LisaacTemplateProcessor extends TemplateCompletionProcessor {
 
diff --git a/src/org/eclipse/lisaac/templates/LisaacVariableResolver.java b/src/org/lisaac/ldt/templates/LisaacVariableResolver.java
similarity index 85%
rename from src/org/eclipse/lisaac/templates/LisaacVariableResolver.java
rename to src/org/lisaac/ldt/templates/LisaacVariableResolver.java
index 764edd0..42eb35a 100644
--- a/src/org/eclipse/lisaac/templates/LisaacVariableResolver.java
+++ b/src/org/lisaac/ldt/templates/LisaacVariableResolver.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.templates;
+package org.lisaac.ldt.templates;
 
 import org.eclipse.jface.text.templates.TemplateContext;
 import org.eclipse.jface.text.templates.TemplateVariableResolver;
diff --git a/src/org/eclipse/lisaac/views/ConsoleFactory.java b/src/org/lisaac/ldt/views/ConsoleFactory.java
similarity index 93%
rename from src/org/eclipse/lisaac/views/ConsoleFactory.java
rename to src/org/lisaac/ldt/views/ConsoleFactory.java
index d710e10..07b0a20 100644
--- a/src/org/eclipse/lisaac/views/ConsoleFactory.java
+++ b/src/org/lisaac/ldt/views/ConsoleFactory.java
@@ -1,54 +1,54 @@
-package org.eclipse.lisaac.views;
-
-import java.util.Arrays;
-
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleFactory;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleManager;
-
-public class ConsoleFactory implements IConsoleFactory{
-
-	/** The console created by this factory if any. */
-	private static LisaacConsole openConsole = null;
-
-	public ConsoleFactory() {
-
-		ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(new IConsoleListener() {
-			public void consolesAdded(IConsole[] consoles) {
-			}
-			public void consolesRemoved(IConsole[] consoles) {
-				if (Arrays.asList(consoles).contains(openConsole)) {
-					openConsole = null;
-				}
-			}
-		});
-	}
-
-	/**
-	 * Opens a new console.
-	 */
-	public void openConsole() {
-		createConsole();
-	}
-
-	public static void createConsole() {
-		IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
-
-		if (openConsole == null) {
-			openConsole = new LisaacConsole();
-			openConsole.initializeDocument();
-
-			consoleManager.addConsoles(new IConsole[] {openConsole});
-		}
-		consoleManager.showConsoleView(openConsole);
-	}
-	
-	public static LisaacConsole getConsole() {
-		if (openConsole == null) {
-			createConsole();
-		}
-		return openConsole;
-	}
-}
+package org.lisaac.ldt.views;
+
+import java.util.Arrays;
+
+import org.eclipse.ui.console.ConsolePlugin;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.console.IConsoleFactory;
+import org.eclipse.ui.console.IConsoleListener;
+import org.eclipse.ui.console.IConsoleManager;
+
+public class ConsoleFactory implements IConsoleFactory{
+
+	/** The console created by this factory if any. */
+	private static LisaacConsole openConsole = null;
+
+	public ConsoleFactory() {
+
+		ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(new IConsoleListener() {
+			public void consolesAdded(IConsole[] consoles) {
+			}
+			public void consolesRemoved(IConsole[] consoles) {
+				if (Arrays.asList(consoles).contains(openConsole)) {
+					openConsole = null;
+				}
+			}
+		});
+	}
+
+	/**
+	 * Opens a new console.
+	 */
+	public void openConsole() {
+		createConsole();
+	}
+
+	public static void createConsole() {
+		IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
+
+		if (openConsole == null) {
+			openConsole = new LisaacConsole();
+			openConsole.initializeDocument();
+
+			consoleManager.addConsoles(new IConsole[] {openConsole});
+		}
+		consoleManager.showConsoleView(openConsole);
+	}
+	
+	public static LisaacConsole getConsole() {
+		if (openConsole == null) {
+			createConsole();
+		}
+		return openConsole;
+	}
+}
diff --git a/src/org/eclipse/lisaac/views/LisaacConsole.java b/src/org/lisaac/ldt/views/LisaacConsole.java
similarity index 87%
rename from src/org/eclipse/lisaac/views/LisaacConsole.java
rename to src/org/lisaac/ldt/views/LisaacConsole.java
index 83cb559..b654f3d 100644
--- a/src/org/eclipse/lisaac/views/LisaacConsole.java
+++ b/src/org/lisaac/ldt/views/LisaacConsole.java
@@ -1,9 +1,9 @@
-package org.eclipse.lisaac.views;
+package org.lisaac.ldt.views;
 
 import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.lisaac.LisaacMessages;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.ui.console.IOConsole;
+import org.lisaac.ldt.LisaacMessages;
 
 public class LisaacConsole extends IOConsole {
 
diff --git a/src/org/eclipse/lisaac/views/LisaacOutlineView.java b/src/org/lisaac/ldt/views/LisaacOutlineView.java
similarity index 89%
rename from src/org/eclipse/lisaac/views/LisaacOutlineView.java
rename to src/org/lisaac/ldt/views/LisaacOutlineView.java
index ea3ec2c..42ac202 100644
--- a/src/org/eclipse/lisaac/views/LisaacOutlineView.java
+++ b/src/org/lisaac/ldt/views/LisaacOutlineView.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.views;
+package org.lisaac.ldt.views;
 
 import java.util.List;
 import java.util.Timer;
@@ -14,18 +14,18 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
 import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.lisaac.editors.LisaacEditor;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.model.items.Prototype;
-import org.eclipse.lisaac.outline.OutlineContentProvider;
-import org.eclipse.lisaac.outline.OutlineItem;
-import org.eclipse.lisaac.outline.OutlineLabelProvider;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.texteditor.AbstractDecoratedTextEditor;
 import org.eclipse.ui.texteditor.IDocumentProvider;
 import org.eclipse.ui.views.contentoutline.ContentOutlinePage;
+import org.lisaac.ldt.editors.LisaacEditor;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.model.items.Prototype;
+import org.lisaac.ldt.outline.OutlineContentProvider;
+import org.lisaac.ldt.outline.OutlineItem;
+import org.lisaac.ldt.outline.OutlineLabelProvider;
 
 public class LisaacOutlineView extends ContentOutlinePage implements IDocumentListener {
 
@@ -145,7 +145,7 @@ public class LisaacOutlineView extends ContentOutlinePage implements IDocumentLi
 	}
 
 	private void createTimer() {
-		updateTimer = new Timer("org.eclipse.lisaac.outlinetimer");
+		updateTimer = new Timer("org.lisaac.ldt.outlinetimer");
 	}
 
 	/**
diff --git a/src/org/eclipse/lisaac/wizards/AbstractNewFileWizard.java b/src/org/lisaac/ldt/wizards/AbstractNewFileWizard.java
similarity index 94%
rename from src/org/eclipse/lisaac/wizards/AbstractNewFileWizard.java
rename to src/org/lisaac/ldt/wizards/AbstractNewFileWizard.java
index fef68a0..c5a6556 100644
--- a/src/org/eclipse/lisaac/wizards/AbstractNewFileWizard.java
+++ b/src/org/lisaac/ldt/wizards/AbstractNewFileWizard.java
@@ -1,155 +1,155 @@
-package org.eclipse.lisaac.wizards;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.InvocationTargetException;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.ui.INewWizard;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.ide.IDE;
-
-public abstract class AbstractNewFileWizard extends Wizard implements INewWizard {
-
-	private AbstractNewFileWizardPage page;
-
-	private IStructuredSelection selection;
-
-	
-	public AbstractNewFileWizard() {
-		super();
-		setNeedsProgressMonitor(true);
-	}
-
-	abstract protected AbstractNewFileWizardPage createPage();
-	
-	/**
-	 * Adding the page to the wizard.
-	 */
-	public void addPages() {
-		page = createPage();
-		addPage(page);
-	}
-	
-	/**
-	 * This method is called when 'Finish' button is pressed in the wizard. We
-	 * will create an operation and run it using wizard as execution context.
-	 */
-	public boolean performFinish() {
-		final String containerName = page.getContainerName();
-		final String fileName = getFileNameWithExtension();
-		final InputStream stream = page.getInitialContents(fileName);
-		
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-					throws InvocationTargetException {
-				try {
-					doFinish(containerName, fileName, stream, monitor);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		try {
-			getContainer().run(true, false, op);
-		} catch (InterruptedException e) {
-			return false;
-		} catch (InvocationTargetException e) {
-			Throwable realException = e.getTargetException();
-			MessageDialog.openError(getShell(), 
-					"Wizard error", realException.getMessage());
-			return false;
-		}
-		return true;
-	}
-	
-	/**
-	 * The worker method. It will find the container, create the file if missing
-	 * or just replace its contents, and open the editor on the newly created
-	 * file.
-	 */
-	private void doFinish(String containerName, String fileName, InputStream stream,
-			IProgressMonitor monitor) throws CoreException {
-		// create a sample file
-		monitor.beginTask("Creating File " + fileName, 2);
-		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
-		IResource resource = root.findMember(new Path(containerName));
-		if (!resource.exists() || !(resource instanceof IContainer)) {
-			throwCoreException("Container does not exist.");
-		}
-		IContainer container = (IContainer) resource;
-		final IFile file = container.getFile(new Path(fileName));
-
-		try {		
-			if (file.exists()) {
-				file.setContents(stream, true, true, monitor);
-			} else {
-				file.create(stream, true, monitor);
-			}
-			stream.close();
-		} catch (IOException e) {
-		}
-		monitor.worked(1);
-		monitor.setTaskName("Opening file...");
-				
-		getShell().getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				IWorkbenchPage page = PlatformUI.getWorkbench()
-						.getActiveWorkbenchWindow().getActivePage();
-				try {
-					IDE.openEditor(page, file, true);
-				} catch (PartInitException e) {
-				}
-			}
-		});
-		monitor.worked(1);
-	}
-	
-	public String getFileNameWithExtension() {
-		String filename = page.getFileName();
-		int index = filename.lastIndexOf('.');
-		if (index == -1) {
-			filename += page.getFileExtension();
-		}
-		return filename;
-	}
-
-
-	private void throwCoreException(String message) throws CoreException {
-		IStatus status = new Status(IStatus.ERROR,
-				"org.eclipse.lisaac.wizards", IStatus.OK, message, null);
-		throw new CoreException(status);
-	}
-	
-	/**
-	 * We will accept the selection in the workbench to see if we can initialize
-	 * from it.
-	 * 
-	 * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
-	 */
-	public void init(IWorkbench workbench, IStructuredSelection selection) {
-		this.selection = selection;
-	}
-	
-	protected IStructuredSelection getSelection() {
-		return selection;
-	}
-}
+package org.lisaac.ldt.wizards;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IContainer;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IWorkspaceRoot;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.ide.IDE;
+
+public abstract class AbstractNewFileWizard extends Wizard implements INewWizard {
+
+	private AbstractNewFileWizardPage page;
+
+	private IStructuredSelection selection;
+
+	
+	public AbstractNewFileWizard() {
+		super();
+		setNeedsProgressMonitor(true);
+	}
+
+	abstract protected AbstractNewFileWizardPage createPage();
+	
+	/**
+	 * Adding the page to the wizard.
+	 */
+	public void addPages() {
+		page = createPage();
+		addPage(page);
+	}
+	
+	/**
+	 * This method is called when 'Finish' button is pressed in the wizard. We
+	 * will create an operation and run it using wizard as execution context.
+	 */
+	public boolean performFinish() {
+		final String containerName = page.getContainerName();
+		final String fileName = getFileNameWithExtension();
+		final InputStream stream = page.getInitialContents(fileName);
+		
+		IRunnableWithProgress op = new IRunnableWithProgress() {
+			public void run(IProgressMonitor monitor)
+					throws InvocationTargetException {
+				try {
+					doFinish(containerName, fileName, stream, monitor);
+				} catch (CoreException e) {
+					throw new InvocationTargetException(e);
+				} finally {
+					monitor.done();
+				}
+			}
+		};
+		try {
+			getContainer().run(true, false, op);
+		} catch (InterruptedException e) {
+			return false;
+		} catch (InvocationTargetException e) {
+			Throwable realException = e.getTargetException();
+			MessageDialog.openError(getShell(), 
+					"Wizard error", realException.getMessage());
+			return false;
+		}
+		return true;
+	}
+	
+	/**
+	 * The worker method. It will find the container, create the file if missing
+	 * or just replace its contents, and open the editor on the newly created
+	 * file.
+	 */
+	private void doFinish(String containerName, String fileName, InputStream stream,
+			IProgressMonitor monitor) throws CoreException {
+		// create a sample file
+		monitor.beginTask("Creating File " + fileName, 2);
+		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+		IResource resource = root.findMember(new Path(containerName));
+		if (!resource.exists() || !(resource instanceof IContainer)) {
+			throwCoreException("Container does not exist.");
+		}
+		IContainer container = (IContainer) resource;
+		final IFile file = container.getFile(new Path(fileName));
+
+		try {		
+			if (file.exists()) {
+				file.setContents(stream, true, true, monitor);
+			} else {
+				file.create(stream, true, monitor);
+			}
+			stream.close();
+		} catch (IOException e) {
+		}
+		monitor.worked(1);
+		monitor.setTaskName("Opening file...");
+				
+		getShell().getDisplay().asyncExec(new Runnable() {
+			public void run() {
+				IWorkbenchPage page = PlatformUI.getWorkbench()
+						.getActiveWorkbenchWindow().getActivePage();
+				try {
+					IDE.openEditor(page, file, true);
+				} catch (PartInitException e) {
+				}
+			}
+		});
+		monitor.worked(1);
+	}
+	
+	public String getFileNameWithExtension() {
+		String filename = page.getFileName();
+		int index = filename.lastIndexOf('.');
+		if (index == -1) {
+			filename += page.getFileExtension();
+		}
+		return filename;
+	}
+
+
+	private void throwCoreException(String message) throws CoreException {
+		IStatus status = new Status(IStatus.ERROR,
+				"org.lisaac.ldt.wizards", IStatus.OK, message, null);
+		throw new CoreException(status);
+	}
+	
+	/**
+	 * We will accept the selection in the workbench to see if we can initialize
+	 * from it.
+	 * 
+	 * @see IWorkbenchWizard#init(IWorkbench, IStructuredSelection)
+	 */
+	public void init(IWorkbench workbench, IStructuredSelection selection) {
+		this.selection = selection;
+	}
+	
+	protected IStructuredSelection getSelection() {
+		return selection;
+	}
+}
diff --git a/src/org/eclipse/lisaac/wizards/AbstractNewFileWizardPage.java b/src/org/lisaac/ldt/wizards/AbstractNewFileWizardPage.java
similarity index 93%
rename from src/org/eclipse/lisaac/wizards/AbstractNewFileWizardPage.java
rename to src/org/lisaac/ldt/wizards/AbstractNewFileWizardPage.java
index 1588688..8c2256d 100644
--- a/src/org/eclipse/lisaac/wizards/AbstractNewFileWizardPage.java
+++ b/src/org/lisaac/ldt/wizards/AbstractNewFileWizardPage.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.wizards;
+package org.lisaac.ldt.wizards;
 
 import java.io.InputStream;
 
@@ -9,7 +9,6 @@ import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.WizardPage;
-import org.eclipse.lisaac.LisaacMessages;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
@@ -22,6 +21,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.ui.dialogs.ContainerSelectionDialog;
+import org.lisaac.ldt.LisaacMessages;
 
 
 public abstract class AbstractNewFileWizardPage extends WizardPage {
@@ -76,9 +76,9 @@ public abstract class AbstractNewFileWizardPage extends WizardPage {
 	public void createControl(Composite parent) {
 		Composite container = new Composite(parent, SWT.NULL);
 		GridLayout layout = new GridLayout();
-		container.setLayout(layout);
 		layout.numColumns = 3;
-		layout.verticalSpacing = 9;
+		container.setLayout(layout);
+		
 		Label label = new Label(container, SWT.NULL);
 		label.setText(LisaacMessages.getString("AbstractNewFileWizardPage_1"));
 
@@ -90,7 +90,6 @@ public abstract class AbstractNewFileWizardPage extends WizardPage {
 				dialogChanged();
 			}
 		});
-
 		Button button = new Button(container, SWT.PUSH);
 		button.setText(LisaacMessages.getString("AbstractNewFileWizardPage_2"));
 		button.addSelectionListener(new SelectionAdapter() {
@@ -98,22 +97,24 @@ public abstract class AbstractNewFileWizardPage extends WizardPage {
 				handleBrowse();
 			}
 		});
+		
 		label = new Label(container, SWT.NULL);
 		label.setText(LisaacMessages.getString("AbstractNewFileWizardPage_3"));
 
 		fileText = new Text(container, SWT.BORDER | SWT.SINGLE);
 		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 1;
+		gd.horizontalSpan = 2;
 		fileText.setLayoutData(gd);
 		fileText.addModifyListener(new ModifyListener() {
 			public void modifyText(ModifyEvent e) {
 				dialogChanged();
 			}
 		});
-		Composite dummy = new Composite(container, SWT.NONE);
+		
+		label = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
 		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.horizontalSpan = 1;
-		dummy.setLayoutData(gd);
+		gd.horizontalSpan = 3;
+		label.setLayoutData(gd);
 		
 		//
 		createAdvancedControls(container);
diff --git a/src/org/eclipse/lisaac/wizards/NewProjectWizard.java b/src/org/lisaac/ldt/wizards/NewProjectWizard.java
similarity index 95%
rename from src/org/eclipse/lisaac/wizards/NewProjectWizard.java
rename to src/org/lisaac/ldt/wizards/NewProjectWizard.java
index a3ad24f..00103d1 100644
--- a/src/org/eclipse/lisaac/wizards/NewProjectWizard.java
+++ b/src/org/lisaac/ldt/wizards/NewProjectWizard.java
@@ -1,4 +1,4 @@
-package org.eclipse.lisaac.wizards;
+package org.lisaac.ldt.wizards;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -20,10 +20,6 @@ import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.builder.LisaacNature;
-import org.eclipse.lisaac.model.LisaacModel;
-import org.eclipse.lisaac.properties.LisaacProjectPropertyPage;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -40,6 +36,10 @@ import org.eclipse.ui.INewWizard;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.dialogs.ContainerSelectionDialog;
 import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.builder.LisaacNature;
+import org.lisaac.ldt.model.LisaacModel;
+import org.lisaac.ldt.properties.LisaacProjectPropertyPage;
 
 
 public class NewProjectWizard extends Wizard implements INewWizard {
diff --git a/src/org/eclipse/lisaac/wizards/NewPrototypeWizard.java b/src/org/lisaac/ldt/wizards/NewPrototypeWizard.java
similarity index 81%
rename from src/org/eclipse/lisaac/wizards/NewPrototypeWizard.java
rename to src/org/lisaac/ldt/wizards/NewPrototypeWizard.java
index 27c3fdc..e4deb71 100644
--- a/src/org/eclipse/lisaac/wizards/NewPrototypeWizard.java
+++ b/src/org/lisaac/ldt/wizards/NewPrototypeWizard.java
@@ -1,11 +1,7 @@
-package org.eclipse.lisaac.wizards;
+package org.lisaac.ldt.wizards;
 
 
 import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.lisaac.LisaacPlugin;
-import org.eclipse.lisaac.LisaacMessages;
-import org.eclipse.lisaac.model.ILisaacModel;
-import org.eclipse.lisaac.preferences.PreferenceConstants;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -19,6 +15,11 @@ import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.TableItem;
 import org.eclipse.swt.widgets.Text;
+import org.lisaac.ldt.LisaacMessages;
+import org.lisaac.ldt.LisaacPlugin;
+import org.lisaac.ldt.actions.GenerateConstructor;
+import org.lisaac.ldt.model.ILisaacModel;
+import org.lisaac.ldt.preferences.PreferenceConstants;
 
 import java.io.*;
 
@@ -31,7 +32,7 @@ public class NewPrototypeWizard extends AbstractNewFileWizard {
 		super();
 		setWindowTitle(LisaacMessages.getString("NewPrototypeWizard_0"));
 	}
-	
+
 	/**
 	 * Create wizard page
 	 */
@@ -45,7 +46,7 @@ public class NewPrototypeWizard extends AbstractNewFileWizard {
  */
 class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 	final private String INITIAL_PROTOTYPE_NAME = "prototype.li"; //$NON-NLS-1$
-	
+
 	protected Text commentField;
 
 	protected Button styleNone;
@@ -54,6 +55,9 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 
 	protected Table tableInherit;
 
+	protected Button generateConstructor, generateMain;
+
+
 	protected NewPrototypeWizardPage(IStructuredSelection selection) {
 		super(NewPrototypeWizardPage.class.getName(), selection);
 
@@ -80,7 +84,7 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 			return null; // ignore and create empty comments
 		}
 	}
-	
+
 	public byte[] getPrototypeStream(String filename) throws IOException {
 		boolean isExpanded = styleExpanded.getSelection();
 		boolean isStrict = styleExpanded.getSelection();
@@ -98,12 +102,12 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 		if (descr != null && descr.length() > 0) {
 			contents +=	"  - comment := \""+descr+"\";\n"; //$NON-NLS-1$ //$NON-NLS-2$
 		}
-		
+
 		String username = LisaacPlugin.getDefault().getPreferenceStore().getString(PreferenceConstants.P_LISAAC_USER);
 		if (username != null && username.length() > 0) {
 			contents += "\n  - author := \""+username+"\";\n"; //$NON-NLS-1$ //$NON-NLS-2$
 		}
-		
+
 		if (! isExpanded) {
 			contents +=	"\nSection Inherit\n\n"; //$NON-NLS-1$
 		} else {
@@ -134,6 +138,17 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 			contents += "  - parent_object:OBJECT := OBJECT;\n"; //$NON-NLS-1$
 		}
 		contents +=	"\nSection Public\n\n";  //$NON-NLS-1$
+		
+		if (generateConstructor.getSelection()) {
+			contents +=	GenerateConstructor.getConstructor();
+		}
+		if (generateMain.getSelection()) {
+			contents += "  - main <- \n"; //$NON-NLS-1$
+			contents += "  // Main entry point.\n"; //$NON-NLS-1$
+			contents += "  (\n\n"; //$NON-NLS-1$
+			contents += "    \n"; //$NON-NLS-1$
+			contents += "  );\n"; //$NON-NLS-1$
+		}
 		return contents.getBytes();
 	}
 
@@ -141,16 +156,17 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 	 * Additional wizard information
 	 */
 	public void createAdvancedControls(Composite parent) {
-	
+
 		// -- Style --
 		Label label = new Label(parent, SWT.NONE);
 		label.setText(LisaacMessages.getString("NewPrototypeWizard_25"));
 		label.setFont(parent.getFont());
-		
+
 		Composite radioGroup = new Composite(parent, SWT.NONE);
 		radioGroup.setLayout(new RowLayout());
 		styleNone = new Button(radioGroup, SWT.RADIO);
 		styleNone.setFont(parent.getFont());
+		styleNone.setSelection(true);
 		styleNone.setText(LisaacMessages.getString("NewPrototypeWizard_26"));
 		styleExpanded = new Button(radioGroup, SWT.RADIO);
 		styleExpanded.setFont(parent.getFont());
@@ -170,7 +186,7 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
 		gridData.horizontalSpan = 1;
 		label.setLayoutData(gridData);
-		
+
 		commentField = new Text(parent, SWT.BORDER);
 		commentField.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
 		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
@@ -185,7 +201,7 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
 		gridData.horizontalSpan = 1;
 		label.setLayoutData(gridData);
-		
+
 		Composite tableGroup = new Composite(parent, SWT.NONE);
 		tableGroup.setLayout(new RowLayout());
 
@@ -228,9 +244,26 @@ class NewPrototypeWizardPage extends AbstractNewFileWizardPage  {
 		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
 		gridData.horizontalSpan = 2;
 		tableGroup.setLayoutData(gridData);
-		
+
 		tableInherit = table;
 		//
+
+		label = new Label(parent, SWT.NONE);
+		label.setText(LisaacMessages.getString("NewPrototypeWizard_36"));
+		label.setFont(parent.getFont());
+		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+		gridData.horizontalSpan = 3;
+		label.setLayoutData(gridData);
+
+		gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+		gridData.horizontalSpan = 3;
+		gridData.horizontalAlignment = SWT.CENTER;
+		generateMain = new Button(parent, SWT.CHECK);
+		generateMain.setText(LisaacMessages.getString("NewPrototypeWizard_37"));
+		generateMain.setLayoutData(gridData);
+		generateConstructor = new Button(parent, SWT.CHECK);
+		generateConstructor.setText(LisaacMessages.getString("NewPrototypeWizard_38"));
+		generateConstructor.setLayoutData(gridData);
 	}
 
 	protected String getInitialFileName() {

-- 
Lisaac eclipse plugin



More information about the Lisaac-commits mailing list