r3206 - in isis-fish/branches/3.3.1: . src/main/java/fr/ifremer/isisfish
Author: chatellier Date: 2011-03-25 17:07:54 +0000 (Fri, 25 Mar 2011) New Revision: 3206 Log: Ajout du support de la completion Java Modified: isis-fish/branches/3.3.1/pom.xml isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/IsisFish.java Modified: isis-fish/branches/3.3.1/pom.xml =================================================================== --- isis-fish/branches/3.3.1/pom.xml 2011-03-25 17:07:21 UTC (rev 3205) +++ isis-fish/branches/3.3.1/pom.xml 2011-03-25 17:07:54 UTC (rev 3206) @@ -208,10 +208,15 @@ <groupId>com.fifesoft</groupId> <artifactId>rsyntaxtextarea</artifactId> <version>1.5.0</version> - <scope>runtime</scope> </dependency> <dependency> + <groupId>com.fifesoft</groupId> + <artifactId>languagesupport</artifactId> + <version>0.7</version> + </dependency> + + <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.44-1</version> @@ -493,7 +498,7 @@ <topiaVersion>2.5.3-SNAPSHOT</topiaVersion> <nuitonUtilsVersion>2.0</nuitonUtilsVersion> <nuitonI18nVersion>2.3.1</nuitonI18nVersion> - <nuitonWidgetsVersion>1.1.1</nuitonWidgetsVersion> + <nuitonWidgetsVersion>1.1.2-SNAPSHOT</nuitonWidgetsVersion> <jrstPluginVersion>1.2</jrstPluginVersion> <aspectwerkzVersion>2.0</aspectwerkzVersion> Modified: isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/IsisFish.java =================================================================== --- isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/IsisFish.java 2011-03-25 17:07:21 UTC (rev 3205) +++ isis-fish/branches/3.3.1/src/main/java/fr/ifremer/isisfish/IsisFish.java 2011-03-25 17:07:54 UTC (rev 3206) @@ -36,6 +36,7 @@ import java.io.IOException; import java.io.InputStream; import java.text.SimpleDateFormat; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Locale; @@ -52,6 +53,11 @@ import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.fife.rsta.ac.LanguageSupport; +import org.fife.rsta.ac.LanguageSupportFactory; +import org.fife.rsta.ac.java.JarInfo; +import org.fife.rsta.ac.java.JavaLanguageSupport; +import org.fife.ui.rsyntaxtextarea.SyntaxConstants; import org.nuiton.i18n.I18n; import org.nuiton.i18n.init.ClassPathI18nInitializer; import org.nuiton.math.matrix.DoubleBigVector; @@ -79,6 +85,7 @@ import fr.ifremer.isisfish.types.TimeUnit; import fr.ifremer.isisfish.ui.WelcomeUI; import fr.ifremer.isisfish.ui.util.ErrorHelper; +import fr.ifremer.isisfish.util.CompileHelper; import fr.ifremer.isisfish.util.ConverterUtil; import fr.ifremer.isisfish.util.DateConverter; import fr.ifremer.isisfish.util.MonthConverter; @@ -615,6 +622,7 @@ // init IsisTray IsisTray.getInstance(); + //initRSyntaxJavaSupport(config); // lauch first UI (welcomeUI) WelcomeUI welcome = new WelcomeUI(); // Set to exit on close @@ -667,5 +675,44 @@ // par defaut on utilise des doubles pour les matrices MatrixFactory.setDefaultVectorClass(DoubleBigVector.class); } + + /** + * Ajout les bons jar et sources au support de language + * de rSyntaxTextArea pour avoir un meilleur support. + * + * Doit être fait avant l'instanciation de l'editor rSyntaxTextArea. + * + * @param config config + */ + protected static void initRSyntaxJavaSupport(IsisConfig config) { + // TODO: This API will change! It will be easier to do per-editor + // changes to the build path. + LanguageSupportFactory lsf = LanguageSupportFactory.get(); + LanguageSupport support = lsf.getSupportFor(SyntaxConstants.SYNTAX_STYLE_JAVA); + JavaLanguageSupport jls = (JavaLanguageSupport)support; + try { + // system JRE + jls.getJarManager().addJar(null); + + // ajout des scripts utilisateur dans le lots + JarInfo ji = new JarInfo(config.getCompileDirectory()); + ji.setSourceLocation(config.getDatabaseDirectory()); + jls.getJarManager().addJar(ji); + + // Ajout des jars + String paths = CompileHelper.getClassPathAsString(Collections.EMPTY_LIST); + for (String path : paths.split(File.pathSeparator)) { + File filePath = new File(path); + if (filePath.isFile()) { // bug avec les directory + JarInfo ji2 = new JarInfo(filePath); + jls.getJarManager().addJar(ji2); + } + } + } catch (Exception ex) { + if (log.isWarnEnabled()) { + log.warn("Can't install Java support", ex); + } + } + } } // IsisFish
participants (1)
-
chatellier@users.labs.libre-entreprise.org