Commit Graph

24 Commits

Author SHA1 Message Date
Léa Saviot
9e973adbab [apps/code] VarBox from console 2020-06-04 14:50:06 +02:00
Ruben Dashyan
179ce5d5d5 [ion/unicode/codepoint] Rename is[(Lower|Upper)Case]Letter to isLatin[(Small|Capital)]Letter
to conform with unicode terminology
2020-02-12 15:13:23 +01:00
Ruben Dashyan
575b911da9 [ion/unicode] Split isDigit into isDecimalDigit, isBinaryDigit, isHexadecimalDigit 2020-02-12 15:13:23 +01:00
Ruben Dashyan
9b0b4e3096 [ion/unicode] Define and use CodePoint const methods
isLowerCaseLetter
isUpperCaseLetter
isLetter
isDigit

Remove similar ones from UTF8Helper and from Poincare::Tokenizer.
2020-02-12 15:13:23 +01:00
Léa Saviot
5853e96947 [apps/code] Remove EditorController::m_areaBuffer
This was a very large buffer that took a lot of RAM space (the size of
the storage). Instead of having it, we just move the available space of
the storage at the end of the edited script, and move it back when the
edition finishes.
This is slower but saves a lot of space.
2020-02-12 15:13:16 +01:00
Émilie Feral
8b926612a2 Revert "[ion] Namespace Ion::UTF8Helper and Ion::UTF8Decoder"
This reverts commit 23da0d3f2c.
2019-05-03 16:29:28 +02:00
Émilie Feral
23da0d3f2c [ion] Namespace Ion::UTF8Helper and Ion::UTF8Decoder 2019-04-29 18:01:30 +02:00
Léa Saviot
a214bbdc5a [unicode] Use unicode when dealing with chars - Part 2 2019-04-12 15:16:51 +02:00
Léa Saviot
1b78f03219 [apps/code] Comment the non support for upper cases in script names 2019-01-21 13:39:59 +01:00
Léa Saviot
282feac8a1 [apps/code] Do not allow script names starting with a number. 2019-01-21 13:39:59 +01:00
Émilie Feral
978766f2e4 [code] Use strlcpy instead of memcpy to avoid invalid read 2018-11-23 12:04:09 +01:00
Léa Saviot
e74e15eaf7 [apps/code] Handle too many Script default names used
When adding to many scripts without naming them, one can overflow the
number of default generated script names, in which case we force the
user to enter a name.
2018-11-23 12:04:05 +01:00
Léa Saviot
0f9d1db851 [apps/code] Fix break that should be a return 2018-11-23 12:04:05 +01:00
Léa Saviot
fd533834ef [apps/code] Default script name is in class Script, not menu controller 2018-11-23 12:04:04 +01:00
Émilie Feral
eadc493f48 [ion] Storage: fix regex describing compliant names 2018-09-21 17:13:12 +02:00
Émilie Feral
08077cb141 [ion] Storage: make Storage::nameCompliant less restrictive (accepts
.*\.[a-z]+). But Script::nameCompliant is stricted: [a-z_0-9.]*
2018-09-13 11:33:15 +02:00
Émilie Feral
79740e72b0 [code] Avoid dynamic allocation and useless string copy by keeping the
importation status flag in the areaBuffer
2018-09-11 17:03:04 +02:00
Émilie Feral
b0ede47d55 [ion] Change Storage design (former kallax) 2018-03-22 14:01:38 +01:00
Émilie Feral
f9656fd94f [ion] Namespace Record and Kallax 2018-03-22 14:01:38 +01:00
Émilie Feral
b9a852a9d1 [escher] Change name: File --> Record, FileSystem --> Kallax 2018-03-22 14:01:38 +01:00
Émilie Feral
19ca0f0640 [apps] Code: use the FileSystem to store the scripts instead of an
accordion
2018-03-22 14:01:38 +01:00
Léa Saviot
35520fb3d4 [code] Scripts can be automatically imported when the console is opened.
Editing, renaming, deleting or changing the auto-importation of a script
triggers the reloading of the console (the history is cleared, Python
restarted and the scripts re-imported).

Change-Id: If8b933cc077ecd36cab09214b5e7a181aa3ae030
2017-11-17 11:59:50 +01:00
Léa Saviot
fbb5c70339 [code] Cleaned Script and ScriptStore classes, created accordion.h
A Script object now contains its AutoImport marker, its name and its
content. The ScripStore methods have better names and the optimization
is cleaner.

Change-Id: I1b21af2d23f1c9a34f984309512b0c01b2f1c320
2017-11-17 11:59:50 +01:00
Léa Saviot
5de4b5cd67 [code] Each script has a name, stored in the accordeon buffer.
A script can now be imported in the console.
Moved all the MicroPython functions to python/port files.

Change-Id: I0a23e8cb20005719b800e81470e1c574c702c3b7
2017-11-17 11:59:50 +01:00