Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Comment avoir des traits verticaux ds traces

SEGALA
2011-10-11
2012-11-13
  • SEGALA
    SEGALA
    2011-10-11

    Bonjour,

    En C++, lorsqu'on a plusieurs niveaux d'accolades imbriqués, Notepad++ permet de voir immédiatement les accolades correspondantes grâce à un trait vertical. Je voudrais la même chose avec un fichier de traces mais j'ai (IN) au lieu de {  et (OUT) au lieu de }

    Merci bcp.
    Tapiou

     
  • cchris
    cchris
    2011-10-13

    Je ne crois pas que Scintilla permette cela directement.
    Par contre, si tu as un UDL (langage défini par l'utilisateur) où (IN) et (OUT) définissent des blocs, tu peux suivre les blocs sur la marge des locs.

    CChris

     
  • SEGALA
    SEGALA
    2011-10-13

    Je ne sais pas trop ce qu'est un UDL. Je suppose que çà correspond au menu Langage sous NotePad++.
    Peut-être que je peux en créer un qui dit que  (IN) et (OUT) définissent des blocs définissent ?
    Est-ce que tu pourrais m'orienter pour que je puisse débuter la création de cet UDL ?

    Merci (une fois de plus … :-))
    Tapiou.

     
  • SEGALA
    SEGALA
    2011-10-16

    Merci.
    J'ai regardé mais peut-etre pas assez car je ne comprends pas comment je peux dire avec un UDL que (IN) et (OUT) définissent des blocs. Et je ne comprends pas que tu veux dire par "sur la marge des locs".
    Est-ce que le plugin External Lexers peut-être utile à réaliser mon besoin ?

    Merci.

    Tapiou

     
  • SEGALA
    SEGALA
    2011-10-17

    euh .. j'ai cherché un peu plus et je crois que si je mets dans le cadre d'un UDL, (IN) dans  Définition de bloc ouvrant et (OUT)  dans Définition de bloc fermant, çà pourrait marcher. … mais pour l'instant çà plante NotePad++

     
  • cchris
    cchris
    2011-10-17

    Asure-toi que ( et ) ne sont pas des opérateurs. Sinon, quelle sorte de plantage?

    CChris

     
  • SEGALA
    SEGALA
    2011-10-18

    Merci.
    J'ai rééssayé. En créant un tout nouvel UDL avec juste  (IN) dans Définition de bloc ouvrant et (OUT) dans Définition de bloc fermant. (Comme c'est un tout nouvel UDL, il n'y a aucun opérateur activé).
    Cette fois-çi, çà ne plante pas mais çà ne change absolument rien lorsque j'applique le langage à un fichier plein de (IN) et de (OUT) avec des lignes de ce style :
                    IHMRes::getCoord(IN) | Thu Sep 29
                        Modification de l'emplacement
                    IHMRes::getCoord(OUT) | Thu Sep 29

    peut-être bien parce qu'il n'y a pas simplement que un (IN) ou un (OUT) dans mes lignes ?

    Merci.

    Tapiou.

     
  • SEGALA
    SEGALA
    2011-10-23

    Je ne comprends pas bien : avec (IN° et (OUT)  ?  J'ai fait un copier coller de ces 2 chaînes : rien n'est changé.

    Plus précisément, j'ai des traces de ce style :
                CommApp::getCoord(IN) | Mon Aug 22
                    Modification de l'emplacement | Mon Aug 22
                    CommModEtatArrgt::SupprDevlt(IN) | Mon Aug 22
                        CommEtatArrgt::CommEtatArrgt(IN) | Mon Aug 22
                        CommEtatArrgt::CommEtatArrgt(OUT) | Mon Aug 22
                    CommModEtatArrgt::SupprDevlt(OUT) | Mon Aug 22
                    CommModEtatArrgt::getCoord(IN) | Mon Aug 22
                        CommDefModEtatF::create(IN) | Mon Aug 22
                        CommDefModEtatF::create(OUT) | Mon Aug 22
                            Ajout d'un état | Mon Aug 22
                    CommModEtatArrgt::getCoord(OUT) | Mon Aug 22
                    CommArrgt::CommArrgt(IN) | Mon Aug 22
                        Création | Mon Aug 22
                    CommArrgt::CommArrgt(OUT) | Mon Aug 22
                    CommApp::insertDevlt(IN) | Mon Aug 22
                        Insertion développement | Mon Aug 22
                    CommApp::insertDevlt(OUT) | Mon Aug 22
                CommApp::getCoord(OUT) | Mon Aug 22

    Si je mets un espace devant (IN) et (OUT), c'est pas mal mais idéalement je ne voudrais pas que le trait vertical apparaisse en début de ligne mais relie chaque aggrégat contenant un (IN) et un (OUT) en ignorant  les débuts de ligne du type   

    Est-ce possible ?

    Merci.

    Tapiou

     
  • SEGALA
    SEGALA
    2011-10-29

    Bonjour CChris,

    J'ai vu que tu étais rentré et que tu répondais à plein de questions.

    Ne m'oublie pas … :-)

    Merci.

    Tapiou.

     
  • cchris
    cchris
    2011-10-31

    Salut,
    Eh non, ça ne mache pas… C'est Scintillaa qui trace les traits guides, et ils s'appellent "guides d'indentation" pour la bonne raison que c'est ce que prend en compte Scintilla. Et une indentation se place par définition en début de ligne.
    Je ne vois que deux solutions:
    Demander aau projet Scintilla qu'ils permettent de placer des gyudes entre points arbitraires - mais je ne vois même pas comment faire dans tous les cas.
    Ecrire ton propre colorateur externe et essayer de mettre en oeuvre ce que tu veuxx… N'importe quel language avec lequel tu peux fabriquer une dll convient.

    CChris

     
  • SEGALA
    SEGALA
    2011-11-01

    Salut,

    Et merci.
    Ben tant pis. Je n'ai pas assez de temps pour me lancer dans l'écriture de mon propre colorateur externe. De plus, je voulais quelque chose qui se fasse depuis Notepad++.

    De toute façon, avec ce que tu m'as déjà indiqué, je peux plier et replier les blocs de traces. Et c'est déjà vraiment bien !

    Merci pour toute l'explication.

    Tapiou.

     
  • SEGALA
    SEGALA
    2011-11-09

    Bonjour,

    A tout hasard, je pose la question.
    Je voudrais pouvoir sauvegarder des replis effectués de ligne par exemple dans le cadre d'une session. Mais çà ne semble pas possible.

    Faut-il que je formule l'idée sous idea torrent ?

    Merci.

    Tapiou.