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

Evolutions du club Discussion :

Coloration syntaxique

  1. #1
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut Coloration syntaxique
    On en avait parlé y'a vachement longtemps....

    la proposition était d'ajouter de la coloration dans les codes dans les messages....
    j'avais un truc qui marchait, mais vitesse escargot, et très bordélique.
    Depuis le temps j'ai amélioré et mis sous forme de classe, je l'ai largement accéléré.

    Le résultat est visible sur http://iubito.developpez.com/php/formatcode.php

    Il ne reste plus qu'à voir comment on fait un mod phpBB.

    Mais bon... faut voir aussi au niveau consommation... ça risque de bouffer les ressources du serveur
    Membre éclairé, lol !

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 258
    Points : 288
    Points
    288
    Par défaut
    C'est normal qu'au bout de quelques clics sur analyser j'obtienne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
    
    void main&#40;void&#41;
    &#123;
        printf&#40;\\\\\\\"Hello \\\\\\\\\\\\\\\"World!\\\\\\\"&#41;;
    &#125;


    Sinon c'est un super idée

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Yabo
    C'est normal qu'au bout de quelques clics sur analyser j'obtienne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <stdio.h>
    
    void main&#40;void&#41;
    &#123;
        printf&#40;\\\\\\\"Hello \\\\\\\\\\\\\\\"World!\\\\\\\"&#41;;
    &#125;


    Sinon c'est un super idée
    oui, c'est vraiment une excellente idee ;-)

    pour ce qui est de ce leger bug, un simple test suffira à notre ami accordeoniste pour eviter de rajouter un backsalsh s'il y en a deja un ;-)

  4. #4
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    euh... ouais je regarderai ça je me suis plus préoccupé du fait que l'analyse des trucs d'en haut marchent.... mais un petit stripslashes devrait résoudre le pb

    Membre éclairé, lol !

  5. #5
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    voiiiiiilà c'est corrigé
    Membre éclairé, lol !

  6. #6
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut
    J'ai voulu stresser un peu ton truc et voila ce qu'il m'a retourné

    Fatal error: Maximum execution time of 15 seconds exceeded in /home/developpez/www/developpez-com/upload/iubito/php/SyntaxHighlight/bbcode.php on line 933
    Il faut dire que j'avais inséré 8000 lignes de codes

    A combien de lignes est limité ton script ?

    500, 600....
    Langages : Java, SQL
    Outils : Eclipse, Intellij
    SGBD : Oracle, PostgreSQL
    Mes Articles

  7. #7
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    Tout dépend du langage, y'en a certains où ça va plus vite que d'autres.
    Dans les stats qui s'affichent en bas je donne le nb de lignes par secondes.
    Et j'ai limité à 15 secondes d'exécution.
    Membre éclairé, lol !

  8. #8
    Membre actif
    Avatar de doof
    Inscrit en
    Août 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 160
    Points : 294
    Points
    294
    Par défaut
    Un ch'tit bug :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <stdio.h>
    void main&#40;void&#41;
    &#123;
        printf&#40;"Hello \\"World!"&#41;;
    &#125;
    De quoi t'amuser : compter les slashs pour voir s'il y en a un nombre impaire

  9. #9
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Citation Envoyé par Stessy
    Il faut dire que j'avais inséré 8000 lignes de codes

    A combien de lignes est limité ton script ?

    500, 600....
    Si c'est pour faire un mod phpBB, il n'y a aucun intérêt à ce que le script gère plus de quelques dizaines de lignes. Si jamais quelqu'un devait poster un code trop long, il suffirait de tester le nombre de lignes en aval avant de lancer la coloration.

    Si jamais ça peut se mettre en place, ce serait pas mal du tout...

    A+
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  10. #10
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    Citation Envoyé par doof
    Un ch'tit bug :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <stdio.h>
    void main&#40;void&#41;
    &#123;
        printf&#40;"Hello \\"World!"&#41;;
    &#125;
    De quoi t'amuser : compter les slashs pour voir s'il y en a un nombre impaire
    Ce bug, tu l'obtiens en écrivant \\ ? ou en faisant quelle manip ?

    Si c'est toi qui a écrit \\ au lieu de \, le syntax highlight n'est pas capable de corriger un ocde
    Si tu as fait une manip (où as tu cliqué, validé...?) moi je n'arrive pas à le reproduire.
    Membre éclairé, lol !

  11. #11
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    Citation Envoyé par Hdd34
    Si c'est pour faire un mod phpBB, il n'y a aucun intérêt à ce que le script gère plus de quelques dizaines de lignes. Si jamais quelqu'un devait poster un code trop long, il suffirait de tester le nombre de lignes en aval avant de lancer la coloration.

    Si jamais ça peut se mettre en place, ce serait pas mal du tout...
    Oui évidemment, on compte le nb de lignes avant.... sauf pour les codes PHP où ça va largement plus vite.
    Membre éclairé, lol !

  12. #12
    Membre actif
    Avatar de doof
    Inscrit en
    Août 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 160
    Points : 294
    Points
    294
    Par défaut
    Non non iubito, c'est bien moi qui ai mit volontairement \\ . Seulement le truc c'est que dans ce cas seulement "Hello \\" devrait etre considéré comme string, hors il consirere le guillemet du millieu comme echappé alors que ca n'est pas le cas.

    Donc un guillemet est echappé seulement s'il y a un nombre impaire de caracteres d'echappement avant.

  13. #13
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    corriged !
    pour m'avoir signalé ce pb
    Membre éclairé, lol !

  14. #14
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Vraiment exelent ce colorateur syntaxique, pour le problème des slashes l'idéal serait d'addslasher le coder une fois avec addslashes() puis de faire un stripslashes() afin de retirer les bons \ qui se sont insérer et non pas ceux voulu par ton code je pense non?
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  15. #15
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    Le pb des slash est corrigé, j'ai fait autrement

    j'ai pas fait comme ça, mais ça marche, je calcule le nb de \ à la fin (je fais un trim et je regarde la différence du nb de caractères...).
    Membre éclairé, lol !

  16. #16
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Beau travail!
    J'ai juste trouvé un petit problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #define macro premiere_ligne \
                  seconde \
                  et_derniere
    Seul la première ligne est considéré comme fesant partie de la macro

    Bonne continuation en espérant pourvoir en profiter trés bientot sur le forum

  17. #17
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    Quel langage ?

    c'est vrai, il faut que j'y pense, au langages qui permettent d'aller à la ligne en ajoutant un certain caractère \ ou _...
    Membre éclairé, lol !

  18. #18
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par iubito
    Quel langage ?
    Désoler, j'ai testé uniquement pour le langage C.

  19. #19
    Membre éclairé
    Avatar de iubito
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2003
    Messages : 389
    Points : 655
    Points
    655
    Par défaut
    ok... je savais pas qu'en C on pouvait faire ça
    Membre éclairé, lol !

  20. #20
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par iubito
    ok... je savais pas qu'en C on pouvait faire ça
    On doit pouvoir le faire pour les chaines de caractères aussi (à confirmer):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "Le debut \
    et la suite"
    Mais je l'ai rarement (voir jamais) dans un code.

Discussions similaires

  1. [C#] Coloration syntaxique !
    Par UNi[FR] dans le forum Windows Forms
    Réponses: 8
    Dernier message: 08/04/2009, 09h37
  2. Coloration syntaxique des éditeurs linux
    Par knecmotet dans le forum Applications et environnements graphiques
    Réponses: 8
    Dernier message: 08/12/2004, 00h09
  3. [debutant] coloration syntaxique
    Par demostene dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 30/06/2004, 15h16
  4. Coloration syntaxique
    Par _-Sky-_ dans le forum Composants
    Réponses: 4
    Dernier message: 03/01/2004, 21h58
  5. Coloration syntaxique ASM dans un RichEdit
    Par Crick dans le forum Composants VCL
    Réponses: 5
    Dernier message: 20/12/2002, 01h53

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