summaryrefslogtreecommitdiff
path: root/py/repl.c
AgeCommit message (Collapse)Author
2017-07-31all: Use the name MicroPython consistently in commentsAlexander Steffen
There were several different spellings of MicroPython present in comments, when there should be only one.
2017-07-04py/repl: Change mp_uint_t to size_t in repl helpers.Damien George
2017-03-29py: Change mp_uint_t to size_t for mp_obj_str_get_data len arg.Damien George
2016-05-20py: Declare constant data as properly constant.Damien George
Otherwise some compilers (eg without optimisation) will put this read-only data in RAM instead of ROM.
2016-05-11py/repl: Fix handling of backslash in quotes when checking continuation.Damien George
2016-05-08py/repl: If there're no better alternatives, try to complete "import".Paul Sokolovsky
Also do that only for the first word in a line. The idea is that when you start up interpreter, high chance that you want to do an import. With this patch, this can be achieved with "i<tab>".
2016-04-13py: add async/await/async for/async with syntaxpohmelie
They are sugar for marking function as generator, "yield from" and pep492 python "semantically equivalents" respectively. @dpgeorge was the original author of this patch, but @pohmelie made changes to implement `async for` and `async with`.
2016-02-17py/repl: Check for an identifier char after the keyword.Alex March
- As described in the #1850. - Add cmdline tests.
2015-11-29py: Wrap all obj-ptr conversions in MP_OBJ_TO_PTR/MP_OBJ_FROM_PTR.Damien George
This allows the mp_obj_t type to be configured to something other than a pointer-sized primitive type. This patch also includes additional changes to allow the code to compile when sizeof(mp_uint_t) != sizeof(void*), such as using size_t instead of mp_uint_t, and various casts.
2015-09-19py/repl: Treat escaped quotes correctly in REPL continuation.Alex March
Escaped quotes are now recognised correctly in REPL when used inside normal quotes. Fixes: #1419
2015-07-29py/repl: Don't look inside strings for unmatched brackets/quotes.Damien George
When looking to see if the REPL input needs to be continued on the next line, don't look inside strings for unmatched ()[]{} ''' or """. Addresses issue #1387.
2015-07-06py/repl: Fix case where shorter names are shadowed by longer names.Damien George
Previous to this patch, if "abcd" and "ab" were possible completions to tab-completing "a", then tab would expand to "abcd" straight away if this identifier appeared first in the dict.
2015-04-29py/repl.c: Fix shadowing of local variable "i".Damien George
2015-04-29py, readline: Add tab autocompletion for REPL.Damien George
Can complete names in the global namespace, as well as a chain of attributes, eg pyb.Pin.board.<tab> will give a list of all board pins. Costs 700 bytes ROM on Thumb2 arch, but greatly increases usability of REPL prompt.
2015-01-01py: Move to guarded includes, everywhere in py/ core.Damien George
Addresses issue #1022.
2014-12-10py: Make functions static where appropriate.Damien George
2014-10-03py: Convert [u]int to mp_[u]int_t where appropriate.Damien George
Addressing issue #50.
2014-06-21py: Include mpconfig.h before all other includes.Paul Sokolovsky
It defines types used by all other headers. Fixes #691.
2014-05-21Tidy up some configuration options.Damien George
MP_ALLOC_* -> MICROPY_ALLOC_* MICROPY_PATH_MAX -> MICROPY_ALLOC_PATH_MAX MICROPY_ENABLE_REPL_HELPERS -> MICROPY_HELPER_REPL MICROPY_ENABLE_LEXER_UNIX -> MICROPY_HELPER_LEXER_UNIX MICROPY_EXTRA_* -> MICROPY_PORT_* See issue #35.
2014-05-03Add license header to (almost) all files.Damien George
Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/.
2014-04-08py: Continue line if last character is backslash.Damien George
2014-04-08Improve REPL detecting when input needs to continue.Damien George
Full CPython compatibility with this requires actually parsing the input so far collected, and if it fails parsing due to lack of tokens, then continue collecting input. It's not worth doing it this way. Not having compatibility at this level does not hurt the goals of Micro Python.
2014-04-07py: Detect unmatched tripple quote in repl helper.Damien George
2014-01-11mp_repl_is_compound_stmt(): Thinko fix s/true/try/.Paul Sokolovsky
2014-01-07Factor and simplify Makefile's and mpconfig.Damien George
2013-12-30Put unicode functions in unicode.c, and tidy their names.Damien George
2013-12-21Change object representation from 1 big union to individual structs.Damien
A big change. Micro Python objects are allocated as individual structs with the first element being a pointer to the type information (which is itself an object). This scheme follows CPython. Much more flexible, not necessarily slower, uses same heap memory, and can allocate objects statically. Also change name prefix, from py_ to mp_ (mp for Micro Python).
2013-10-22Improve REPL compount statement detection.Damien