Purebasic Forum Code

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Purebasic Forum Code

Message par kernadec »

bonjour
je n'arrive plus à trouver le module d'Erix14. existe il encore...
sur mon vieux pc avec firefox le module est rester installé...
mais depuis le web ma recherche reste vaine.


Cordialement
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Purebasic Forum Code

Message par Ar-S »

Je ne l'ai plus :(

En revanche j'utilise un script GreaseMonkey qui fait le boulot.
Tu peux jouer à modifier les couleurs etc ( // ==PureBasicPreference== ),
Perso je l'ai adapté à mon IDE JaPBe.

Ce qui donne :
Image

Voilou.

Code : Tout sélectionner

// ==UserScript==
// @name          Pure Basic Syntax Highlighting
// @namespace     http://www.bhelpuri.net/Trixie
// @description   Pure Basic Syntax Highlighting (V 1.6) (16. Feb 2011)
// @include       http://purebasic.com/german/*
// @include       http://purebasic.fr/german/*
// @include       http://purebasic.fr/english/*
// @include       http://purebasic.fr/french/*
// @include       http://www.purebasic.com/german/*
// @include       http://www.purebasic.fr/german/*
// @include       http://www.purebasic.fr/english/*
// @include       http://www.purebasic.fr/french/*
// @include       http://forums.purebasic.com/german/*
// @include       http://forums.purebasic.com/english/*
// @include       http://forums.purebasic.fr/german/*
// @include       http://forums.purebasic.fr/english/*
// @include       http://forums.purebasic.fr/french/*
// ==/UserScript==





//--------------------------------------------
// Version 1.6 (16. Feb 2011)
//--------------------------------------------

// Farbdefinition für das Syntax Highlighting
// color definition for the syntax highlighting
//===================================================

 var PBSH_Highlight = new Object();

 // ==PureBasicPreference==

    PBSH_Highlight['EnableKeywordBolding'] = 1;
  PBSH_Highlight['EditorFontName'] = 'Courier New';
  PBSH_Highlight['EditorFontSize'] = '10';
  PBSH_Highlight['EditorFontStyle'] = '';
  PBSH_Highlight['BackgroundColor'] = '#FFFFDF';
  PBSH_Highlight['NormalTextColor'] = '#000000';
  PBSH_Highlight['BasicKeywordColor'] = '#000000';
  PBSH_Highlight['CommentColor'] = '#00AAAA';
  PBSH_Highlight['ConstantColor'] = '#941B1B';
  PBSH_Highlight['StringColor'] = '#6E6E6E';
  PBSH_Highlight['PureKeywordColor'] = '#006666';
  PBSH_Highlight['ASMKeywordColor'] = '#800000';
  PBSH_Highlight['PointerColor'] = '#0000FF';
  PBSH_Highlight['NumberColor'] = '#000000';
  PBSH_Highlight['StructureColor'] = '#000080';
  PBSH_Highlight['LabelColor'] = '#000000';
  PBSH_Highlight['OperatorColor'] = '#000000';
  PBSH_Highlight['SeparatorColor'] = '#000000';


 // ==/PureBasicPreference==

//===================================================







// UserScript für die Syntaxhervorhebung
// user script for syntax highlighting
//===================================================

 // Regulärer Ausdrück für das SyntaxHighlighting
 // regular expressions for the syntax lighting
 //                |( Keyword                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             )|( Comment           )|( Constant           )|( String    )|( Function                                                 )|( ASM                           )|( Pointer                                     )|( Number                                       )|( Structure                                                                                                                   )|( Label                     )|( Operator                   )|( Separator   )|
 var PBSH_Syntax = /([^\w";\\][ \t]*(?:And|Array|As|Break|CallDebugger|Case|CompilerCase|CompilerDefault|CompilerElse|CompilerEndIf|CompilerEndSelect|CompilerError|CompilerIf|CompilerEndIf|CompilerSelect|CompilerEndSelect|Continue|Data|DataSection|EndDataSection|Debug|DebugLevel|Declare|DeclareCDLL|DeclareDLL|Default|Define|Dim|DisableASM|DisableDebugger|DisableExplicit|Else|ElseIf|EnableASM|EnableDebugger|EnableExplicit|End|EndDataSection|EndEnumeration|EndIf|EndImport|EndInterface|EndMacro|EndProcedure|EndSelect|EndStructure|EndStructureUnion|EndWith|Enumeration|EndEnumeration|Extends|FakeReturn|For|Next|ForEach|Next|ForEver|Global|Gosub|Goto|If|EndIf|Import|EndImport|ImportC|EndImport|IncludeBinary|IncludeFile|IncludePath|Interface|EndInterface|List|Macro|EndMacro|Map|NewList|NewMap|Next|Not|Or|Procedure|EndProcedure|ProcedureC|EndProcedure|ProcedureCDLL|EndProcedure|ProcedureDLL|EndProcedure|ProcedureReturn|Protected|Prototype|PrototypeC|Read|ReDim|Repeat|Until|Restore|Return|Select|EndSelect|Shared|Static|Step|Structure|EndStructure|StructureUnion|EndStructureUnion|Swap|Threaded|To|Until|Wend|While|Wend|With|EndWith|XIncludeFile|XOr)(?!\w))|(;[^\r\n]*(?=[\r\n]))|(\#\w*\$?|'[^'\r\n]*')|("[^"\r\n]*")|([^\w.][ \t]*\w+\$?(?=(?:[ \t]*\.[ \t]*\w+[ \t]*|[ \t]*)\())|([\n][ \t]*![^\r\n;]*(?=[\n\r;]))|(.\@\*?[\w\$]*|[^\w$)\]][ \t]*\*[\w\$]+|.\?\w*)|(\W(?:\d+\.?[e\d]*|\$[\dabcdef]+|\%[01]+)(?!\w))|(\.[ \t]*(?:[^\Wabcdfilqsuw](?!\w)|\w\w+)|\\[ \t]*\w+\$?|\W\w+(?=[ \t]*\\)|\W\w+(?=[ \t]*\.[ \t]*(?:[^\Wabcdfilqsuw]\W|\w\w+)))|([\n][ \t]*\w+\$?(?=[ \t]*:))|([+*/\-|!%=~]|&|<|>)|([()\[\]\\:,.])/gi ;

 // Hervorheben einer Zeichenkette
 // highlighting a string
 function PBSH_Highlighting(str, key)
  {
  if (PBSH_Highlight[key])
   return '<font color="'+PBSH_Highlight[key]+'">'+str+'</font>';
  else
   return str;
  }
 function PBSH_Highlighting_Shift(str, key)
  {
  if (PBSH_Highlight[key])
   {
   var chr = str.slice(0,1);
   if (PBSH_Highlight['OperatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   else if (PBSH_Highlight['SeparatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   return chr+'<font color="'+PBSH_Highlight[key]+'">'+str.slice(1,str.length)+'</font>';
   }
  else
   return str;
  }
 function PBSH_Highlighting_Keyword(str, key)
  {
  if (PBSH_Highlight[key])
   {
   var space = str.lastIndexOf(' ');
   if (space==-1) space = 0;
   var chr = str.slice(0,space+1);
   if (PBSH_Highlight['SeparatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   if (PBSH_Highlight['EnableKeywordBolding'])
    return chr+'<font color="'+PBSH_Highlight[key]+'"><b>'+str.slice(space+1,str.length)+'</b></font>';
   else
    return chr+'<font color="'+PBSH_Highlight[key]+'">'+str.slice(space+1,str.length)+'</font>';
   }
  else
   if (PBSH_Highlight['EnableKeywordBolding'])
    return '<b>'+str+'</b>';
   else
    return str;
  }

 // Ersetzen einer Zeichenkette
 // replace a string
 function PBSH_Replace(str, isKeyword, isComment, isConstant, isString, isFunction, isASM, isPointer, isNumber, isStructure, isLabel, isOperator, isSeparator)
  {
  if (isKeyword)        return PBSH_Highlighting_Keyword(isKeyword, 'BasicKeywordColor');
  else if (isComment)   return PBSH_Highlighting(isComment, 'CommentColor');
  else if (isConstant)  return PBSH_Highlighting(isConstant, 'ConstantColor');
  else if (isString)    return PBSH_Highlighting(isString, 'StringColor');
  else if (isFunction)  return PBSH_Highlighting_Shift(isFunction, 'PureKeywordColor');
  else if (isASM)       return PBSH_Highlighting_Shift(isASM, 'ASMKeywordColor');
  else if (isPointer)   return PBSH_Highlighting_Shift(isPointer, 'PointerColor');
  else if (isNumber)    return PBSH_Highlighting_Shift(isNumber, 'NumberColor');
  else if (isStructure) return PBSH_Highlighting_Shift(isStructure, 'StructureColor');
  else if (isLabel)     return PBSH_Highlighting_Shift(isLabel, 'LabelColor');
  else if (isOperator)  return PBSH_Highlighting(isOperator, 'OperatorColor');
  else if (isSeparator) return PBSH_Highlighting(isSeparator, 'SeparatorColor');
  }

 // Durchf&uuml;hres der Syntaxhervorhebung
 // carry out the syntax highlighting
 function PureBasicSyntaxHighlighting()
  {
  // Anwenden der Syntaxhervorhebung auf alle Elemente mit der Klasse codecontent
  // apply the syntax highlighting on all the elements with class codecontent
  var allMyDivs = document.getElementsByTagName('div');
  for(var i = 0; i < allMyDivs.length; i++)
   {
   if (allMyDivs[i].className == 'codecontent')
    {
    if (PBSH_Highlight['EditorFontName'])
     allMyDivs[i].style.font = PBSH_Highlight['EditorFontStyle']+" "+PBSH_Highlight['EditorFontSize']+"pt "+PBSH_Highlight['EditorFontName'];
    if (PBSH_Highlight['BackgroundColor'])
     allMyDivs[i].style.backgroundColor = PBSH_Highlight['BackgroundColor'];
    if (PBSH_Highlight['NormalTextColor'])
     allMyDivs[i].style.color           = PBSH_Highlight['NormalTextColor'];
    var code = ' '+allMyDivs[i].innerHTML+'\r';
    code = code.replace(/<br>/gi, '\r\n');
    code = code.replace(/&nbsp;/gi, '\t');
    code = code.replace(/<\/?[^<>]*>/gi, '');
    code = code.replace(PBSH_Syntax, PBSH_Replace);
    code = code.replace(/\t/gi, '&nbsp;');
    code = code.replace(/\r\n/gi, '<br>');
    allMyDivs[i].innerHTML = code;
    }
   }
  }

 PureBasicSyntaxHighlighting();

//===================================================

~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
flaith
Messages : 1487
Inscription : jeu. 07/avr./2005 1:06
Localisation : Rennes
Contact :

Re: Purebasic Forum Code

Message par flaith »

Oui, je l'utilise aussi, j'y ai mis les même infos que mon editeur PB et c'est le top :D
+ ajout de l'Expand/Collapse/Copy : http://www.purebasic.fr/english/viewtop ... 96#p347396
avec mes modif :

Code : Tout sélectionner

// ==UserScript==
// @name           CodeFold for PureBasic Forums
// @namespace      http://www.bhelpuri.net/Trixie
// @description    CodeFold
// @include         http://purebasic.fr/*
// @include         http://www.purebasic.fr/*
// @include         http://purebasic.com/*
// @include         http://www.purebasic.com/*
// @include         http://forums.purebasic.fr/*

// ==/UserScript==


var hoch       = "95px";

var select     = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAANCAMAAABIK2QJAAAAB3RJTUUH2AYGEg8u3H74gAAAABd0RVh0U29mdHdhcmUAR0xEUE5HIHZlciAzLjRxhaThAAAACHRwTkdHTEQzAAAAAEqAKR8AAAAEZ0FNQQAAsY8L/GEFAAADAFBMVEVFRUWAAAAAgACAgAAAAICAAIAAgIDAwMDA3MCmyvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+/CgoKSAgID/AAAA/wD//wAAAP//AP8A//////+NCwMjAAAAAWJLR0T/pQfyxQAAADZJREFUeJyNjEEKADAMwvz/h+fNWdeOHRekSJCCjSTUMUT6MqKQLqdm4zM7PrP2t+fRvx+Ihw1yH39YLwn1QAAAAABJRU5ErkJggg==";
var minus      = "data:image/gif;base64,R0lGODlhCgAKAKIAADMzM//M/93d3WZmZv///wAAAAAAAAAAACH5BAEHAAEALAAAAAAKAAoAAAMVGLrc/mrISQe5+ErBOx9AKI5QaS4JADs=";
var plus       = "data:image/gif;base64,R0lGODlhCgAKAKIAADMzM//M/93d3WZmZv///wAAAAAAAAAAACH5BAEHAAEALAAAAAAKAAoAAAMgGDo8+mEQ4mAUosaGG5sEBjJYWQ5ACmAq8AyddWVy+yQAOw==";


var expandfunc =  '\n';
expandfunc +=     'function expand_code(img_id)\n';
expandfunc +=     '{\n';
expandfunc +=     ' var node = document.getElementById(img_id);\n';
expandfunc +=     ' node.src = "'+minus+'" ;\n';
expandfunc +=     ' node.onclick = function() { collapse_code(img_id); };\n';
expandfunc +=     ' var node = document.getElementById("c"+img_id);\n';
expandfunc +=    '  node.style.height = "100%";\n';
expandfunc +=    '  node.style.overflow = "visible";\n';
expandfunc +=     '}\n';

var collapsefunc = '\n';
collapsefunc +=    'function collapse_code(img_id)\n';
collapsefunc +=    '{\n';
collapsefunc +=    ' var node = document.getElementById(img_id);\n';
collapsefunc +=    ' node.src = "'+plus+'" ;\n';
collapsefunc +=    ' node.onclick = function() { expand_code(img_id); };\n';
collapsefunc +=    ' var node = document.getElementById("c"+img_id);\n';
collapsefunc +=    ' node.style.height = "'+hoch+'";\n';
collapsefunc +=    ' node.style.overflow = "scroll";\n';
collapsefunc +=    '}\n';

var selectfunc  = '\n';
selectfunc     += 'function select_code ( img_id )\n';
selectfunc     += '{\n';
selectfunc     += ' if ( window.getSelection() && window.getSelection().removeAllRanges() ) {\n';
selectfunc     += '   window.getSelection().removeAllRanges();\n';
selectfunc     += ' }\n';
selectfunc     += ' div_id = img_id - 1000;\n';
selectfunc     += ' var node = document.getElementById ( "c" + div_id );\n';
selectfunc     += ' if ( document.createRange() ){;\n';
selectfunc     += '   range = document.createRange();\n';
selectfunc     += '   if ( range.selectNode(node) ){;\n';
selectfunc     += '     range.selectNode(node);\n';
//selectfunc     += '     range.execCommand("Copy");\n';
selectfunc     += '   };\n';
selectfunc     += ' };\n';
selectfunc     += ' if ( window.getSelection() && window.getSelection().addRange( range ) ){\n';
selectfunc     += '   window.getSelection().addRange( range );\n';
selectfunc     += ' };\n';
selectfunc     += '}\n';


var img_id       = 0;
var len = document.getElementsByTagName("div").length;
var script;

for (var i = 0;i<len;i++)
{
   if (document.getElementsByTagName("div")[i].className == "codetitle")
   {
      var node = document.getElementsByTagName("div")[i];
      var html = node.innerHTML;       
        var count = 0;            
      var code = 0;
      
      node.innerHTML = '<b>Code :</b>';
      
      img_id += 1;
      select_id = img_id + 1000;
      
      code = node.nextSibling;
      
      //if (code.innerHTML.split("<br>").length - 1 >= 10)
      //{
      //   node.innerHTML += '&nbsp;<img id="'+ img_id    +'" src="'+plus  +'" onclick="expand_code('+img_id   +')" />';
      //
      //   code.style.height = hoch;
      //   code.style.overflow = "scroll";
      //}

	  // Expand par défaut
	  // Si le nombre de ligne de code est >= 10
	  // On affiche la possibilité d'étendre ou de réduire le code
	  // sinon pas la peine de l'afficher
	  if (code.innerHTML.split("<br>").length - 1 >= 10)
	  {
		node.innerHTML += '&nbsp;<img id="'+img_id+'" src="'+minus+'" onclick="collapse_code('+img_id+')" />';
		code.style.height = "visible";
		code.style.overflow = "100%";
	  }
         
      code.id = "c" + img_id; 

      node.innerHTML += '&nbsp;<img id="'+ select_id +'" src="'+select+'" onclick="select_code('+select_id+')" />';
   }
}

script = document.createElement( 'script' );
script.innerHTML  = expandfunc;
script.innerHTML += collapsefunc;
script.innerHTML += selectfunc;

document.body.appendChild(script);
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Purebasic Forum Code

Message par nico »

et comment utiliser le script?
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Purebasic Forum Code

Message par kernadec »

bonsoir

mais pour Greasemonkey pas compris comment ça marche
il faut que je lise la doc.... avec translate ..
si quelqu'un avait un rapide mode d'emploi, merci
Cordialement
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Purebasic Forum Code

Message par nico »

ah ok, c'est très simple, merci pour le script.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Purebasic Forum Code

Message par Ar-S »

+ ajout de l'Expand/Collapse/Copy
Excellent manquait plus que ça !

Kernadec c'est simple,
- tu installes GreaseMonkey (et tu redemarres Firefox)
- tu crées un fichier nomduscript.user.js (.user.js est important)
- tu fais glisser le fichier sur firefox.

valaa
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Purebasic Forum Code

Message par kernadec »

bonjour Ar-S
merci, oui j'ai fais tout cela...
mais y à un truc qui m'échappe avec firefox
avec module greasemonkey, je vois le script codefofd For PureBasic forums
avec les options boutons edit désactiver désinstaller
les script sont dans l'éditeur en mode enable
mais reste sans effects sur les codes du forums..

Cordialement
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Purebasic Forum Code

Message par Backup »

bon c'est n'importe quoi vos explications

quelqu'un pourrai t'il reprendre depuis le debut en détaillant pas a pas la procedure
en donnant les listings complet , et en disant ce qu'il faut en faire ...
comme si vous vous adressiez a des gens qui n'y connaisse rien ;)

j'ai personnellement toujours rien compris ! :roll: :lol: (mon colorer est 10000 fois plus simple :lol: )


ps :
tu installes GreaseMonkey (et tu redemarres Firefox)
ben c'est quoi ce GreaseMonkey ?? on le trouve ou ?

les scripts ... pareil ... :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Purebasic Forum Code

Message par Backup »

ça y est j'ai compris !! :D

bon alors GreaseMonkey est un plugin Firefox qu'on doit installer
il suffit de rentrer 'GreaseMonkey' dans le champ de recherche des pluggins Firefox :)

ensuite effectivement il suffit de dragger le fichier Script "PureBasicSyntaxHighlighting_1-6.user.js"
dans le fenetre de 'GreaseMonkey'

et voila :)


ps: au vu des résultats , je prefere quand meme mon PureColorer :)
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Purebasic Forum Code

Message par kernadec »

bonsoir
je viens de ré-installer java runtime
je n'ai toujours pas de code couleur sur firefox... vraiment chiant mon problème.
et puis... il faut dire qu'en ce moment j'ai trop de boulot!!
Donc je verrais ça plus tard, et pourtant ma bécane à l'air d' être clean :mrgreen:
je sais pas ou ça merde, il y à des moments comme ça ou
il m'arrive de chercher mes lunettes, alors que je les utilises.. 8O

Cordialement
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Purebasic Forum Code

Message par Backup »

tu as bien installé GreaseMonkey dans firefox ?

alors sauvegarde sous le nom "PureBasicSyntaxHighlighting_1-6.user.js"
attention l'extension doit etre ".js" , pas ".txt"
ce fichier :

Code : Tout sélectionner

// ==UserScript==
// @name          Pure Basic Syntax Highlighting
// @namespace     http://www.bhelpuri.net/Trixie
// @description   Pure Basic Syntax Highlighting (V 1.6) (16. Feb 2011)
// @include       http://purebasic.com/german/*
// @include       http://purebasic.fr/german/*
// @include       http://purebasic.fr/english/*
// @include       http://purebasic.fr/french/*
// @include       http://www.purebasic.com/german/*
// @include       http://www.purebasic.fr/german/*
// @include       http://www.purebasic.fr/english/*
// @include       http://www.purebasic.fr/french/*
// @include       http://forums.purebasic.com/german/*
// @include       http://forums.purebasic.com/english/*
// @include       http://forums.purebasic.fr/german/*
// @include       http://forums.purebasic.fr/english/*
// @include       http://forums.purebasic.fr/french/*
// ==/UserScript==


//--------------------------------------------
// Version 1.6 (16. Feb 2011)
//--------------------------------------------


// Farbdefinition f&uuml;r das Syntax Highlighting
// color definition for the syntax highlighting
//===================================================
 var PBSH_Highlight = new Object();
 // ==PureBasicPreference==
  PBSH_Highlight['EnableKeywordBolding'] = 1;
  PBSH_Highlight['EditorFontName'] = 'Comic Sans MS';
  PBSH_Highlight['EditorFontSize'] = '10';
  PBSH_Highlight['EditorFontStyle'] = '';
  PBSH_Highlight['BackgroundColor'] = '#111111';
  PBSH_Highlight['NormalTextColor'] = '#EEEEEE';
  PBSH_Highlight['BasicKeywordColor'] = '#FF81BF';
  PBSH_Highlight['CommentColor'] = '#11FF81';
  PBSH_Highlight['ConstantColor'] = '#FA6B81';
  PBSH_Highlight['StringColor'] = '#FFFF11';
  PBSH_Highlight['PureKeywordColor'] = '#$DD11DD';
  PBSH_Highlight['ASMKeywordColor'] = '#FF8111';
  PBSH_Highlight['PointerColor'] = '#FFFFFF';
  PBSH_Highlight['NumberColor'] = '#FFFFFF';
  PBSH_Highlight['StructureColor'] = '#B7B711';
  PBSH_Highlight['LabelColor'] = '#FF8011';
  PBSH_Highlight['OperatorColor'] = '#EEEEEE';
  PBSH_Highlight['SeparatorColor'] = '#FFFF11';
 // ==/PureBasicPreference==
//===================================================



// UserScript f&uuml;r die Syntaxhervorhebung
// user script for syntax highlighting
//===================================================
 // Regul&auml;rer Ausdr&uuml;ck f&uuml;r das SyntaxHighlighting
 // regular expressions for the syntax lighting
 //                |( Keyword                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             )|( Comment           )|( Constant           )|( String    )|( Function                                                 )|( ASM                           )|( Pointer                                     )|( Number                                       )|( Structure                                                                                                                   )|( Label                     )|( Operator                   )|( Separator   )|
 var PBSH_Syntax = /([^\w";\\][ \t]*(?:And|Array|As|Break|CallDebugger|Case|CompilerCase|CompilerDefault|CompilerElse|CompilerEndIf|CompilerEndSelect|CompilerError|CompilerIf|CompilerEndIf|CompilerSelect|CompilerEndSelect|Continue|Data|DataSection|EndDataSection|Debug|DebugLevel|Declare|DeclareCDLL|DeclareDLL|Default|Define|Dim|DisableASM|DisableDebugger|DisableExplicit|Else|ElseIf|EnableASM|EnableDebugger|EnableExplicit|End|EndDataSection|EndEnumeration|EndIf|EndImport|EndInterface|EndMacro|EndProcedure|EndSelect|EndStructure|EndStructureUnion|EndWith|Enumeration|EndEnumeration|Extends|FakeReturn|For|Next|ForEach|Next|ForEver|Global|Gosub|Goto|If|EndIf|Import|EndImport|ImportC|EndImport|IncludeBinary|IncludeFile|IncludePath|Interface|EndInterface|List|Macro|EndMacro|Map|NewList|NewMap|Next|Not|Or|Procedure|EndProcedure|ProcedureC|EndProcedure|ProcedureCDLL|EndProcedure|ProcedureDLL|EndProcedure|ProcedureReturn|Protected|Prototype|PrototypeC|Read|ReDim|Repeat|Until|Restore|Return|Select|EndSelect|Shared|Static|Step|Structure|EndStructure|StructureUnion|EndStructureUnion|Swap|Threaded|To|Until|Wend|While|Wend|With|EndWith|XIncludeFile|XOr)(?!\w))|(;[^\r\n]*(?=[\r\n]))|(\#\w*\$?|'[^'\r\n]*')|("[^"\r\n]*")|([^\w.][ \t]*\w+\$?(?=(?:[ \t]*\.[ \t]*\w+[ \t]*|[ \t]*)\())|([\n][ \t]*![^\r\n;]*(?=[\n\r;]))|(.\@\*?[\w\$]*|[^\w$)\]][ \t]*\*[\w\$]+|.\?\w*)|(\W(?:\d+\.?[e\d]*|\$[\dabcdef]+|\%[01]+)(?!\w))|(\.[ \t]*(?:[^\Wabcdfilqsuw](?!\w)|\w\w+)|\\[ \t]*\w+\$?|\W\w+(?=[ \t]*\\)|\W\w+(?=[ \t]*\.[ \t]*(?:[^\Wabcdfilqsuw]\W|\w\w+)))|([\n][ \t]*\w+\$?(?=[ \t]*:))|([+*/\-|!%=~]|&|<|>)|([()\[\]\\:,.])/gi ;
 // Hervorheben einer Zeichenkette
 // highlighting a string
 function PBSH_Highlighting(str, key)
  {
  if (PBSH_Highlight[key])
   return '<font color="'+PBSH_Highlight[key]+'">'+str+'</font>';
  else
   return str;
  }
 function PBSH_Highlighting_Shift(str, key)
  {
  if (PBSH_Highlight[key])
   {
   var chr = str.slice(0,1);
   if (PBSH_Highlight['OperatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   else if (PBSH_Highlight['SeparatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   return chr+'<font color="'+PBSH_Highlight[key]+'">'+str.slice(1,str.length)+'</font>';
   }
  else
   return str;
  }
 function PBSH_Highlighting_Keyword(str, key)
  {
  if (PBSH_Highlight[key])
   {
   var space = str.lastIndexOf(' ');
   if (space==-1) space = 0;
   var chr = str.slice(0,space+1);
   if (PBSH_Highlight['SeparatorColor'])
    chr = chr.replace(PBSH_Syntax, PBSH_Replace);
   if (PBSH_Highlight['EnableKeywordBolding'])
    return chr+'<font color="'+PBSH_Highlight[key]+'"><b>'+str.slice(space+1,str.length)+'</b></font>';
   else
    return chr+'<font color="'+PBSH_Highlight[key]+'">'+str.slice(space+1,str.length)+'</font>';
   }
  else
   if (PBSH_Highlight['EnableKeywordBolding'])
    return '<b>'+str+'</b>';
   else
    return str;
  }
 // Ersetzen einer Zeichenkette
 // replace a string
 function PBSH_Replace(str, isKeyword, isComment, isConstant, isString, isFunction, isASM, isPointer, isNumber, isStructure, isLabel, isOperator, isSeparator)
  {
  if (isKeyword)        return PBSH_Highlighting_Keyword(isKeyword, 'BasicKeywordColor');
  else if (isComment)   return PBSH_Highlighting(isComment, 'CommentColor');
  else if (isConstant)  return PBSH_Highlighting(isConstant, 'ConstantColor');
  else if (isString)    return PBSH_Highlighting(isString, 'StringColor');
  else if (isFunction)  return PBSH_Highlighting_Shift(isFunction, 'PureKeywordColor');
  else if (isASM)       return PBSH_Highlighting_Shift(isASM, 'ASMKeywordColor');
  else if (isPointer)   return PBSH_Highlighting_Shift(isPointer, 'PointerColor');
  else if (isNumber)    return PBSH_Highlighting_Shift(isNumber, 'NumberColor');
  else if (isStructure) return PBSH_Highlighting_Shift(isStructure, 'StructureColor');
  else if (isLabel)     return PBSH_Highlighting_Shift(isLabel, 'LabelColor');
  else if (isOperator)  return PBSH_Highlighting(isOperator, 'OperatorColor');
  else if (isSeparator) return PBSH_Highlighting(isSeparator, 'SeparatorColor');
  }
 // Durchf&uuml;hres der Syntaxhervorhebung
 // carry out the syntax highlighting
 function PureBasicSyntaxHighlighting()
  {
  // Anwenden der Syntaxhervorhebung auf alle Elemente mit der Klasse codecontent
  // apply the syntax highlighting on all the elements with class codecontent
  var allMyDivs = document.getElementsByTagName('div');
  for(var i = 0; i < allMyDivs.length; i++)
   {
   if (allMyDivs[i].className == 'codecontent')
    {
    if (PBSH_Highlight['EditorFontName'])
     allMyDivs[i].style.font = PBSH_Highlight['EditorFontStyle']+" "+PBSH_Highlight['EditorFontSize']+"pt "+PBSH_Highlight['EditorFontName'];
    if (PBSH_Highlight['BackgroundColor'])
     allMyDivs[i].style.backgroundColor = PBSH_Highlight['BackgroundColor'];
    if (PBSH_Highlight['NormalTextColor'])
     allMyDivs[i].style.color           = PBSH_Highlight['NormalTextColor'];
    var code = ' '+allMyDivs[i].innerHTML+'\r';
    code = code.replace(/<br>/gi, '\r\n');
    code = code.replace(/&nbsp;/gi, '\t');
    code = code.replace(/<\/?[^<>]*>/gi, '');
    code = code.replace(PBSH_Syntax, PBSH_Replace);
    code = code.replace(/\t/gi, '&nbsp;');
    code = code.replace(/\r\n/gi, '<br>');
    allMyDivs[i].innerHTML = code;
    }
   }
  }
 PureBasicSyntaxHighlighting();
//===================================================

ensuite tu ouvre firefox , tu vas dans le menu "outils"
tu choisi greaseMonkey
tu choisi "manage user script"

ça va ouvrir une fenetre

et la tu drague le fichier "PureBasicSyntaxHighlighting_1-6.user.js" sur cette fenetre
et voila , lorsque tu regardera un code sur le forum
il sera comme ça :

Image
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: Purebasic Forum Code

Message par kernadec »

bonjour Dobro
merci, beaucoup de ta gentillesse.
Voilà j'ai bien le module greasemonkey avec sa fenêtre script
dans lequel j'ai effectué un drag drop, le script est bien dans la fenêtre avec enable
mais sans conséquence sur les scripts... je sais pas ce qu'il a mon firefox...
je vais le ré-installer!!! En tout cas Merci

Cordialement
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Purebasic Forum Code

Message par Backup »

oui c'est bizarre !

peut etre un conflit de pluggins Firefox (voir avec adblockplus par exemple )

ou bien ... ton antivirus qui bloque les scripts java ;)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Purebasic Forum Code

Message par Ar-S »

Ou tu as un petit vérolin qui traine ? ou un addon qui fait conflit ?
Normalement, une fois GM installé et firefox redémarré, il ni a plus besoin de relancer quoi que ce soit. Un drag n Drop du script dans firefox, un rafraichissement de la page et c'est fait.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre