{"id":5041,"date":"2006-01-14T03:51:22","date_gmt":"2006-01-14T03:51:22","guid":{"rendered":"http:\/\/davidbosman.fr\/blog\/2006\/01\/14\/20060114327\/"},"modified":"2010-03-27T23:37:36","modified_gmt":"2010-03-27T22:37:36","slug":"20060114327","status":"publish","type":"post","link":"https:\/\/www.davidbosman.fr\/blog\/2006\/01\/14\/20060114327\/","title":{"rendered":"Utiliser le folding sur du texte, dans SciTE"},"content":{"rendered":"<p><a href=\"http:\/\/www.scintilla.org\/SciTE.html\">SciTE<\/a> est rapidement devenu mon &eacute;diteur pr&eacute;f&eacute;r&eacute; pour &eacute;crire. Je veux dire pour &eacute;crire du texte &agrave; la page, par exemple des histoires de SF 8)<\/p><\/p>\n\n<p>Pourquoi SciTE ?  <\/p>\n\n<ol> <li>c&#8217;est un &eacute;diteur de texte, pas un traitement de texte lourd et long &agrave; d&eacute;marrer. J&#8217;aime le format .txt  : l&eacute;ger, portable \ud83d\ude42<\/li> <li>SciTE dispose d&#8217;un mode plein &eacute;cran.<\/li> <li>Il permet d&#8217;utiliser n&#8217;importe quelle police ou presque pour l&#8217;affichage du texte. Il est tr&egrave;s personnalisable (Emacs aussi, mais bon&#8230;).<\/li> <li>C&#8217;est plus anecdotique, mais je trouve &ccedil;a tr&egrave;s pratique : il est tr&egrave;s facile de zoomer dans le texte pour changer sa taille d&#8217;affichage. Appuyez sur Ctrl et faite tourner la molette de la souris.<\/li> <\/ol>\n\n<p>Voici &agrave; quoi ressemble ma version de SciTE en mode plein &eacute;cran :<\/p>\n\n<p><img decoding=\"async\" src=\"\/images\/blog\/scite_for_writers.jpg\" alt=\"Scite en mode plein &eacute;cran, avec la police Thyssen\" \/><\/p>\n\n<p>Ca peut sembler moche mais c&#8217;est en r&eacute;alit&eacute; tr&egrave;s confortable selon mes crit&egrave;res :<\/p>\n\n<ul><li>Ce que vous voyez l&agrave; c&#8217;est toute la surface de l&#8217;&eacute;cran de mon portable (12&#8243; 1280&#215;768). Comme vous le voyez, l&#8217;&eacute;cran est enti&egrave;rement occup&eacute; par SciTE : pas de barre des t&acirc;ches de Windows, pas de boutons, pas de fen&ecirc;tres. Rien que le texte color&eacute; sur fond noir. Toutes les sources de distractions potentielles sont masqu&eacute;es : web, email, chat. Rien ne vient me distraire quand j&#8217;entre en &laquo;&#8202;mode &eacute;criture&#8202;&raquo;.<\/li> <li>L&#8217;&eacute;cran est enti&egrave;rement occup&eacute; par SciTE, mais j&#8217;ai la possibilit&eacute; de d&eacute;finir des marges gauches et droites de fa&ccedil;on &agrave; ce que le texte ne s&#8217;affiche pas sur toute la largeur et cr&eacute;e des lignes interminables, illisibles.<\/li> <li>Les couleurs et les polices choisies sont libres. J&#8217;aime un fond noir et la police orange, le contraste est moins fatiguant pour les yeux, je trouve.<\/li> <li>On peut utiliser une police d&#8217;affichage avec empattement, sans modifier le fichier texte lui-m&ecirc;me juste son apparence. Possibilit&eacute; d&#8217;utiliser des polices, des tailles et des couleurs diff&eacute;rentes selon la situation (dans ma version, j&#8217;ai d&eacute;fini 5 niveaux de titres, un style commentaire et un style normal).<\/li> <li>M&ecirc;me si la configuration semble fastidieuse (il faut modifier des param&egrave;tres dans un fichier), c&#8217;est tr&egrave;s simple et tr&egrave;s performant.<\/li><\/ul>\n\n<p><\/p><\/p>\n\n<p>C&#8217;est d&eacute;j&agrave; pas mal, mais il me manquait une petite chose : la possibilit&eacute; d&#8217;utiliser le &laquo;&#8202;folding&#8202;&raquo; dans un fichier .txt. Le folding est une option que SciTE propose pour certains formats de fichiers (et pas pour d&#8217;autres, entre autres pas pour le format .txt) qui permet de replier le contenu d&#8217;un bloc, par exemple un bloc d&#8217;instructions contenues dans une paire d&#8217;accolades :<\/p>\n\n<p><code>blabla<\/p>\n\n<p>{<\/p>\n\n<p>   un autre blabla<\/p>\n\n<p> un autre blabla<\/p>\n\n<p>}<\/p>\n\n<p>Suite du blabla<\/p>\n\n<p>Suite du blabla<\/p>\n\n<p><\/code><\/p>\n\n<p>Une fois &laquo;&#8202;fold&eacute;&#8202;&raquo; donnera :<\/p>\n\n<p><code><\/p>\n\n<p>blabla<\/p>\n\n<p>{<\/p>\n\n<p>Suite du blabla<\/p>\n\n<p><\/code><\/p>\n\n<p>Ou quelque chose dans le genre. Vous avez l&#8217;id&eacute;e. Ca serait tr&egrave;s utile lorsqu&#8217;on &eacute;crit des histoires un peu longues, pour masquer tel ou tel chapitre ou pour visiualiser un plan d&#8217;ensemble. H&eacute;las, &ccedil;a ne marche que pour certains langages de progrmmation, pas pour du simple texte.<\/p>\n\n<p>Comme les d&eacute;veloppeurs ont eu la bonne id&eacute;e de mettre &agrave; disposition leur code source (merci !) je me suis dit et si j&#8217;essayais ? De mes petits doigts maladroits j&#8217;ai cr&eacute;&eacute; un <i>lexer<\/i> (ce qui g&egrave;re le folding et la coloration du texte, en gros). Bon, je ne suis pas un programmeur, m&ecirc;me pas amateur. Alors c&#8217;est tr&egrave;s rudimentaire mais c&#8217;est mieux que rien du tout. Avec cette version de scite, on dispose de 5 niveaux de titre. Chaque niveau est d&eacute;fini par 2 ou plus &laquo;&#8202;=&#8202;&raquo; :<\/p>\n\n<p>== Titre 1<\/p>\n\n<p>=== Titre 2<\/p>\n\n<p>==== Titre 3<\/p>\n\n<p>Etc. Chaque bloc se termine l&agrave; o&ugrave; commence un autre. il n&#8217;y a donc pas de balise de fermeture.<\/p>\n\n<p>Il y a aussi un mode commentaire, pour pouvoir prendre des notes sans trop interf&eacute;rer avec le corps du texte. Placez le commentaire entre \/* et *\/, simplement. Par d&eacute;faut, si vous ne modifiez pas les r&eacute;glages de mon user.properties (voyez plus bas), ils seront affich&eacute;s dans la police Comic Sans, en jaune p&acirc;le.<\/p>\n\n<p>Voici un exemple :<p><img decoding=\"async\" src=\"\/images\/blog\/scite_for_writers2.jpg\" alt=\"Aper&ccedil;u avec blocs repli&eacute;s + 1 commentaire\" \/><\/p>Un commentaire suivi de plusieurs titres de niveau 2 repli&eacute;s<p><img decoding=\"async\" src=\"\/images\/blog\/scite_for_writers3.jpg\" alt=\"Aper&ccedil;u avec blocs d&eacute;pli&eacute;s + 1 commentaire\" \/><\/p>Le premier titre de niveau 2 d&eacute;pli&eacute;, le texte appara&icirc;t. <\/p>\n\n<p>Comme je vous disais, je ne suis pas un programmeur : je n&#8217;ai pas r&eacute;ussi &agrave; faire fonctionner les menus de folding automatique int&eacute;gr&eacute;s &agrave; SciTE. D&eacute;sol&eacute;. Vous devrez donc plier et d&eacute;plier manuellement chaque titre <\/p>\n\n<div align=\"center\">* * *<\/div>\n\n<p>Je ne sais pas si cette version de SciTE pourra int&eacute;resser quelqu&#8217;un d&#8217;autre. Au cas o&ugrave;, elle est t&eacute;l&eacute;chargeable ici : <\/p>\n\n<ul><li><a href=\"http:\/\/www.palmbavardages.net\/telechargements\/scite_writers.zip\">Scite &laquo;&#8202;pour auteurs&#8202;&raquo;<\/a>. Il suffit de d&eacute;compresser l&#8217;archive et de la copier quelque part. <\/li> <li>Pour utiliser les m&ecirc;mes r&eacute;glages que moi ou au moins pour vous faire une id&eacute;e rapide de la fa&ccedil;on de les personnaliser je vous conseille de t&eacute;l&eacute;charger aussi mon <a href=\"http:\/\/www.palmbavardages.net\/telechargements\/user.properties.txt\">user.properties<\/a>. Ouvrez-le, copiez son contenu, ensuite allez dans le menu <b>Options -> Open User Option File<\/b> de SciTE et collez-y son contenu &agrave; la suite de ce qui serait &eacute;ventuellement d&eacute;j&agrave; pr&eacute;sent.<\/li><\/ul>\n\n<p>Attention : mes r&eacute;glages (taille des polices, marges) sont optimis&eacute;s pour un affichage en mode plein &eacute;cran (appuyez sur <b>F11<\/b> depuis SciTE). Je n&#8217;utilise Scite que dans ce mode, ou presque. Pour l&#8217;affichage du texte, j&#8217;utilise deux polices de caract&egrave;res : Verdana pour les titres et la tr&egrave;s belle &laquo;&#8202;Thyssen&#8202;&raquo; pour le corps du texte. Thyssen est t&eacute;l&eacute;chargeable gratuitement sur <a href=\"http:\/\/www.dafont.com\/font.php?file=thyssen_j\">dafont<\/a>. <\/p>\n\n<p>    <\/p>\n\n<p>Ces r&eacute;glages sont ceux qui <em>me conviennent<\/em>, ils n&#8217;ont aucune autre pr&eacute;tention que de me plaire. Ils ne sont pas adapt&eacute;s &agrave; l&#8217;&eacute;criture de code informatique. Vous pouvez facilement les modifier dans votre user.properties, en vous basant sur les commentaires inclus dans le mien.<\/p>\n\n<p>  <\/p>\n\n<p>Si vous voulez am&eacute;liorer ma modeste tentative de folding ou autre chose, voici le code  du principal fichier que jai modifi&eacute; : <a href=\"http:\/\/www.palmbavardages.net\/telechargements\/LexOthers.cxx\">LexOthers.cxx<\/a>. Remplacez simplement celui qui existe dans le source de Scintilla (dans le dossier <b>Scintilla\/src<\/b>), mes fonctions comportent l&#8217;expression &laquo;&#8202;nvl&#8202;&raquo;. Et voici le <a href=\"http:\/\/www.palmbavardages.net\/telechargements\/scintilla_textfolding.zip\">code source complet de Scintilla<\/a>, avec toutes les petites modifs n&eacute;cessaires pour compiler scintilla avec ma fonction NVL.  <\/p>\n\n<p>Un &eacute;norme merci &agrave; Sandra, ma compagne et accessoirement informaticienne, sans qui je n&#8217;aurai jamais r&eacute;ussi \ud83d\ude42<\/p>\n\n<p>EDIT : une demi tonne de coquilles et autres fautes&#8230; J&#8217;suis fatigu&eacute; \ud83d\ude09<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SciTE est rapidement devenu mon &eacute;diteur pr&eacute;f&eacute;r&eacute; pour &eacute;crire. Je veux dire pour &eacute;crire du texte &agrave; la page, par exemple des histoires de SF 8) Pourquoi SciTE ? c&#8217;est un &eacute;diteur de texte, pas un traitement de texte lourd &hellip; <a href=\"https:\/\/www.davidbosman.fr\/blog\/2006\/01\/14\/20060114327\/\">Read more &rarr;<\/a><\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5041","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/5041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/comments?post=5041"}],"version-history":[{"count":1,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/5041\/revisions"}],"predecessor-version":[{"id":6151,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/5041\/revisions\/6151"}],"wp:attachment":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/media?parent=5041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/categories?post=5041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/tags?post=5041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}