π
<-

[PROJET]LuaCS: l'éditeur du programmeur Lua sur calculatrice

Pour TI-Nspire OS 3.0 ou ultérieur.

Re: [PROJET]LuaCS: l'éditeur du programmeur Lua sur calculat

Unread postby Excale » 13 Nov 2011, 20:13

Je pense qu'il serait bien aussi de faire un mode ou l'éditeur serait très rapide (sans coloration et tout le tralala) pour ceux qui voudraient s'en servir pour mettre des cours dessus en scrollant rapidement :) .

(au cas où tu tomberais directement sur cette page yatto, n'oublies pas de lire le message de levak page d'avant).
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: [PROJET]LuaCS: l'éditeur du programmeur Lua sur calculat

Unread postby Levak » 13 Nov 2011, 20:15

Excale wrote:Je pense qu'il serait bien aussi de faire un mode ou l'éditeur serait très rapide (sans coloration et tout le tralala) pour ceux qui voudraient s'en servir pour mettre des cours dessus en scrollant rapidement :) .


Tu lis les readme ? :D

C'est écrit par exemple qu'on peut désactiver la coloration syntaxique.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [PROJET]LuaCS: l'éditeur du programmeur Lua sur calculat

Unread postby Excale » 13 Nov 2011, 20:17

Je sais qu'on peut desactiver la coloration, mais je pense qu'on peut faire encore mieux :)
(parce que pour l'instant il reste tout de même assez lent quand on commence à mettre beaucoup de lignes).
User avatar
ExcaleAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 3.9%
 
Posts: 2955
Images: 3
Joined: 10 Sep 2010, 00:00
Gender: Male
Calculator(s):
MyCalcs profile

Re: [PROJET]LuaCS: l'éditeur du programmeur Lua sur calculat

Unread postby Levak » 13 Nov 2011, 20:20

Excale wrote:Je sais qu'on peut desactiver la coloration, mais je pense qu'on peut faire encore mieux :)
(parce que pour l'instant il reste tout de même assez lent quand on commence à mettre beaucoup de lignes).


Ah ? Alors là c'est mauvais, c'est tout le principe à revoir.
Personnellement je ne vois pas la lenteur mais je ne me suis pas attardé à des tests d'overflow.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [PROJET]LuaCS: l'éditeur du programmeur Lua sur calculat

Unread postby Levak » 15 Nov 2011, 01:01

Bon, j'approche de la fin, enfin ... plutôt du on.paint() qui est le dernier truc que je toucherais puisque c'est le seul truc qui me permet de tester le reste =D

Il me reste un bug étrange lors des Redo pour copier un texte, et le fait de copier un texte avec certains caractères spéciaux (typiquement je copie un texte multi-lignes d'une application ça ne foire pas, je copie d'une autre application ça fait planter dans la fonction d'affichage).

Globalement il faut que yatto retienne plusieurs choses (c'est valable pour les autres aussi) :
  • ça ne sert à rien de recréer le monde quand on a à disposition des fonctions telles que string.find ou string.split ou encore string.match qui répondent à des expressions rationnelles (rien que l'exemple comptabul m'est resté en travers de la gorge : 30 lignes pompeuses contre 1 instruction optimisée D:)
  • Les variables globales c'est le mal. Même si le Lua le permet, là en l'occurrence, on ne s'y retrouve plus. On accepte cependant les globales explicites (donc évitons les variables telles que i, j, k etc ... qui trainent et dont on ne maîtrise pas la valeur)
  • Le clipboard n'est pas un dépotoir et ne doit pas servir de buffer temporaire.
  • des espaces avant et après les opérateurs =( [ toto=1 ==> toto = 1 ] pleeeeeaaase
  • table.getn est strictement égal à #. Pareil pour string.len()
  • encoder ton texte avec des @@eol@@, inutile que je te le dise, tu dois déjà savoir que ça sert à rien car '\n' ou encore string.uchar(10) marchent très bien :O
  • ipairs() et pairs() sont des fonctions magiques pour les boucles for. Tu devrais y jeter un oeil.
  • if not(toto==nil) then =====> if toto then

Tips :

  • J'ai changé la structure de donnée des UndoRedo par une beaucoup plus légère (Excale m'a émit un doute et j'ai tout de suite compris). Avant, si on tapait un texte de 500 caractères, la table d'Undo comportait inutilement 500 caractères. Maintenant elle est majorée par une variable qu'on pourra modifier plus tard : maxUndo. C'est une structure circulaire (ou liste chaînée cyclique). Cela permet de toujours ajouter les données en tête, mais d'avoir une queue mobile, ce qui fait que lorsqu'on atteint la majoration (donc que la tête se retrouve derrière la queue), on avance la queue (on pert donc la dernière donnée) et on stock la nouvelle tête à la place de l'ancienne donnée. Quelques manipulations en plus (comme un merge des données appartenant à l'ancienne tête) pour le cas spécifique des Undo/Redo.
  • Je vais changer la coloration syntaxique par des regex. De ce que j'ai compris, et je reste assez étonné de ton idée originale, tu reparses tout le buffer (ou partie, j'ai pas lu l'algo du on.paint en détail) et tu colories chaque fois que tu trouves une occurrence. Sauf que tu recolories. Et oui, du noir, puis du bleu, puis du gris si on est en commentaire et qu'il s'agit d'un token. :D

Peut être plus quand ça me reviendra :O
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: [PROJET]LuaCS: l'éditeur du programmeur Lua sur calculat

Unread postby Adriweb » 15 Nov 2011, 07:42

Levak wrote:[*] table.getn est strictement égal à #.


Même pour une table multi-type indexée en key-value ?

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 80.1%
 
Posts: 14847
Images: 1134
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Previous

Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1633 utilisateurs:
>1614 invités
>11 membres
>8 robots
Record simultané (sur 6 mois):
29271 utilisateurs (le 11/07/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)