Sublime Forum

Help me please

#22

Hmm. Je suis en train de penser à quelque chose, peut-etre que ca te conviendrait. Tu pourrais peut-être wrapper ta règle entity pour s’assurer qu’elle n’apparaisse qu’une fois.

Ton premier pattern (pour execute) devrait seulement matcher une ligne, donc…

begin: ^execute
end: $
include: entityOnce
include: .*   // invalid chars

Puis, entityOnce est définit comme suit…

begin: (?=\s+@[apre]\[.*\]\s*(\sdetect)?\s*$)
end: $
include: entity

Donc l’idée est que ta règle définit comme begin une assertion positive lookahead qui match une seule fois dans la ligne un skelette de entity.

Le problème, c’est que ca match tout ou rien… Hmm.

EDIT: tu pourrais brisé entity en plusieurs règles qui s’incluent une après l’autre :stuck_out_tongue:

0 Likes

#23

Tu n’as pas fermé le lookahead du regex de entityOnce, tu peux corriger stp ? Je comprendrais mieux puisque j’imagine que seulement une partie est concerné par ça.

0 Likes

#24

Je galère pas mal avec mes syntaxes, je verrais demain. Tu peux m’expliquer ce que ça fais (et ton idée dans l’edit aussi stp) ? En gros entityOnce test si y’a entity et detect et si c’est le cas il applique entity dessus c’est ça ?

0 Likes

#25

Oui, entityOnce s’assure que le reste de la ligne ne contienne entity (en gros) et detect, lequel peut être là 0 ou 1 fois à la fin. Comme begin est seulement un lookahead, il ne match rien, ce qui laisse donc la place à entity pour définir ses scopes.

0 Likes

#26

J’ai fait exactement comme tu as fait mais ça ne marche pas (tout est dans invalid chars après le execute), tu peux re-tester ? Et sinon pour mieux comprendre j’aimerais utiliser YAML, peux-tu me dire comment convertir mes fichiers et comment apprendre à l’utiliser stp ? Merci :slightly_smiling_face:

0 Likes

#27

Hey Aero,
C’est vrai que c’est difficile à résoudre en texte :stuck_out_tongue:

Je viens d’essayer un quick test avec sublime-syntax, et ca semble bien plus simple à réaliser qu’avec tmLanguage. Je te conseille vraiment d’essayer dans ce format là.

1 Like

#28

Hi!

Well, happy that you find your solution but next time, try to

  • write a better title (help me please is the worst I’ve ever seen)
  • speak in english, because this is an english forum, so english people will come and look for answer…

So can you edit the title, so it’s easier to undestand what this topic is about? Because you will not be the only one having this issue.

Mathieu

Au passage, je suis aussi francais

0 Likes