IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Coloration syntaxique plugin Eclipse


Sujet :

Eclipse Platform

  1. #1
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut Coloration syntaxique plugin Eclipse
    Bonjour à tous,

    Dans la continuité de ma première question (ici) j'ai une question concernant mon éditeur eclipse.

    Dans mon plugin j'ai fait une coloration syntaxique, cela marche parfaitement sauf quand je veux colorer des signes (<, >, =, +, /, *, -)

    Voila mon code :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    public class Scanner extends RuleBasedScanner {
    	private static final Color COLOR_KEYWORD;
    	private static final Color COLOR_COMMENT;
    	private static final Color COLOR_OTHER;
    	private static final Color COLOR_SIGN;
    	private static final Color COLOR_STRING;
    	private static final String[] KEYWORDS = { "et", "stop", "faire", "alors",
    			"fin", "faux", "pour", "fonction", "si", "en", "dans", "aucun",
    			"pas", "ou", "vrai", "jusqu'a", "tant que", "sinon" };
    	private static final String[] SIGNS = { "<", ">", "+", "-", "=", "<=",
    			">=", "==", "*", "/" };
    	static {
    		Display d = PlatformUI.getWorkbench().getDisplay();
    		COLOR_KEYWORD = new Color(d, 177, 34, 28);
    		COLOR_COMMENT = new Color(d, 255, 91, 43);
    		COLOR_SIGN = new Color(d, 140, 198, 215);
    		COLOR_OTHER = new Color(d, 0, 0, 0);
    		COLOR_STRING = new Color(d, 43, 110, 101);
    	}
     
    	/**
             * Initialise le scanner.
             */
    	public Scanner() {
    		Token keyword = new Token(new TextAttribute(COLOR_KEYWORD, null,
    				SWT.BOLD));
    		Token comment = new Token(new TextAttribute(COLOR_COMMENT, null,
    				SWT.ITALIC));
    		Token sign = new Token(new TextAttribute(COLOR_SIGN));
    		Token other = new Token(new TextAttribute(COLOR_OTHER));
    		Token string = new Token(
    				new TextAttribute(COLOR_STRING, null, SWT.BOLD));
     
    		WordRule rule = new WordRule(new IWordDetector() {
     
    			@Override
    			public boolean isWordPart(char c) {
    				return Character.isLetter(c);
    			}
     
    			@Override
    			public boolean isWordStart(char c) {
    				return Character.isLetter(c);
    			}
    		}, other);
     
    		for (String s : SIGNS) {
    			rule.addWord(s, sign);
    		}
     
    		for (String k : KEYWORDS) {
    			rule.addWord(k, keyword);
    		}
     
    		IRule[] rules = { rule,
    				new SingleLineRule("//", null, comment, (char) 0, true),
    				new PatternRule("\"", "\"", string, '/', false) };
     
    		super.setRules(rules);
    	}
    }

    Visiblement il n'y a pas d'autre méthode que addWord() pour ajouter un terme dans les règles de colorations syntaxique, donc je sais pas ou chercher :/

    J'aimerai aussi forcer l'écriture en Minuscule dans l'éditeur (ça m'évitera de gérer les majuscules dans KEYWORDS

    Merci par avance de votre aide.

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Alors, pour ton soucis de Scanner, je vais pas pouvoir t'aider plus que ça... Par contre, j'ai quelques autres pistes.

    Pour ce qui est de l'écriture en minuscule, tu peux toujours insérer tes String dans ton document avec un toLowerCase().

    Il ne faut pas que tu oublis les principes de SWT: "Ce que tu crées tu dois le libérer". Le mieux serait que tu passes par le ColorRegistry:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
    colorRegistry.put("keyword", new RGB(177, 34, 28));
    Color keywordColor = colorRegistry.get("keyword");
    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut
    Merci c'est gentil
    Mais en fait j'aurai aimé obliger la saisie en minuscule par l'utilisateur. Lorsqu'il tapes un A cela donne un a :/

  4. #4
    Rédacteur/Modérateur

    Avatar de alain.bernard
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Décembre 2011
    Messages
    749
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 749
    Points : 5 219
    Points
    5 219
    Par défaut
    Salut,

    Pour les signes non colorés, ça vient de ta WordRule "rule". Elle ne reconnaît que les lettres ! Il faut que tu en crée une autre qui reconnaîtra les signes.

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    WordRule ruleSigns = new WordRule(new IWordDetector() {
     
    			@Override
    			public boolean isWordPart(char c) {
    				return c == '=';
    			}
     
    			@Override
    			public boolean isWordStart(char c) {
    				return c== '=' || c == '+' || c == '<' || ...;
    			}
    		}, other);
     
    		for (String s : SIGNS) {
    			ruleSigns.addWord(s, sign);
    		}

    Bon courage,
    Alain
    Pas de messages techniques par MP, les forums sont là pour ça.
    Rédacteur d'articles sur la plateforme Eclipse

    N'oubliez pas de consulter les FAQ Eclipse et les cours et tutoriels Eclipse

  5. #5
    Membre régulier
    Femme Profil pro
    Etudiante en informatique
    Inscrit en
    Janvier 2013
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiante en informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 98
    Points : 95
    Points
    95
    Par défaut
    C'est parfait, merci
    je me compliquai un peu la vie...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Xtext] Définir une coloration syntaxique sous Eclipse
    Par Christophe Genolini dans le forum Eclipse Modeling
    Réponses: 4
    Dernier message: 04/09/2013, 09h28
  2. Réponses: 1
    Dernier message: 12/02/2009, 15h27
  3. [3.1.2.][Plugin][WebTools]La coloration syntaxique sous Eclipse
    Par Alexandre T dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 04/04/2007, 16h18
  4. PB avec le Plugin Eclipse Colorer
    Par OUaOU dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 30/10/2006, 10h30
  5. [Plugin][JSP]Coloration syntaxique des jsp
    Par tibouchou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 06/11/2005, 18h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo