Scintilla et la coloration syntaxique...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Scintilla et la coloration syntaxique...

Message par JohnJohnsonSHERMAN »

Salut a tous !

Je cherche en ce moment a développer un générateur de code (ou tout au moins au début juste un éditeur avec coloration syntaxique), fait en PB, mais pour d' autres langages (NXC, Basic CASIO, C pour SDK CASIO), qui ne bénéficient pas d'éditeurs complets avec coloration et autocomplétion.

Le probléme c'est de colorer avec scintilla, n'ayant jamais utilisé ce truc. :(

Je me demande surtout comment on définit la liste des mots a colorer (genre qu'est ce qui est une constante, qu'est ce qui est une fonction, etc...) propre a chaque langage? Où ca se trouve? Doit-on le faire manuellement? :?:

J'ai déja trouvé un petit code de falsam : http://www.purebasic.fr/french/viewtopi ... syntaxique, mais qui ne colore rien... tout est... noir [Ok]

Ca vient peut peut être de

Code : Tout sélectionner

ScintillaSendMessage(#Editor, #SCI_SETLEXER, #SCLEX_HTML)
A ce que j'en ait compris, ce truc permet a l'utilisateur de définir dans quel langage Scintilla doit rechercher les mots a colorer, mais dans le cas d'un langage "maison", que doit on entrer a la place de #SC_LEX.... ? Où définir ses mots clés, ses constantes, etc??? (imaginons par exemple que j'aie un langage trés simple avec une instruction StartSherman(), et une constante #Canon_de_105, comment dois-je faire pour obtenir la coloration de la fonction en... mauve foncé 8O (pourquoi pas?) et de la constante en vert fluo (vraiement de mauvais gout :? )?? )

Edit : Ca se colore bien dans l'exemple de falsam, maintenant.


Merci d'avance !
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: Scintilla et la coloration syntaxique...

Message par JohnJohnsonSHERMAN »

J'ai un peu avancé dans mes recherches, et je ne sait toujours pas paramétrer scintilla pour colorer un code dans un langage qui n'y est pas répertorié... Comment créer son lexer avec Scintilla ? Est-ce Scintilla qui colore le code ou un autre composant qui reconnait les mots clés, les fonctions,etc...? Comment faire (cf mon exemple précedent post) ?

S'il vous plait, répondez moi vite car ces problémes me bloquent entiérement au niveau de mon projet...ca fait 2 jours que je passe mon temps a ne rien faire de constructif, et ca n'avance pas... :!: SOS :!: :(
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Scintilla et la coloration syntaxique...

Message par Ar-S »

je ne connais pas scintilla, mais en tapant scintilla dans les recherches je suis tombé sur ce lien qui pourra peut être t'aider.
http://purebasic.developpez.com/sources/?page=Scintilla
~~~~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
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: Scintilla et la coloration syntaxique...

Message par JohnJohnsonSHERMAN »

Celui là je l'ait déja vu... est ca ne me dit pas comment créer un lexer pour scintilla ou un truc qui reconnaisse la syntaxe des mots (genre si tel mot est une variable, tel autre une instruction, etc...)

Merci quand même Ar-S!

Edit : Le deuxiéme code est intéressant, j'avais pas pu le compiler tout a l'heure car je n'avais pas SciLexer.dll, mais maintenant c'est ok. je vous tient au courant de mes essais et recherches...
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: Scintilla et la coloration syntaxique...

Message par Fred »

La version integrée à PureBasic ne contient aucun lexers, c'est pour ca que ca ne fonctionne pas. Tu peux recuperer la DLL officielle et la remplacer, ca devrait marcher.
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: Scintilla et la coloration syntaxique...

Message par JohnJohnsonSHERMAN »

Si tu parles de la SciLexer.dll, je l'ai, mais je ne sait pas comment créer mon lexer, ou même si ce n'est pas plus simple d'utiliser une callback avec le gadget Scintilla pour colorer le code. Je rappelle que je cherche juste a colorer du code, mais qui n'est pas du PB ni aucun autre répertorié dans les lexers de Scintilla (c'est du Basic Casio, je pense que ce n'est pas trés répandu).
Pour l'instant, je vais me pencher sur la méthode de la callback.

Allez, le Sherman, au boulot... :)
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Scintilla et la coloration syntaxique...

Message par falsam »

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: Scintilla et la coloration syntaxique...

Message par JohnJohnsonSHERMAN »

Merci falsam !!!
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Répondre