Commit Graph

8 Commits

Author SHA1 Message Date
Dr-Carlos c66ae1d5c6 _d: use expr_or_range to allow addresses or ranges 2022-12-17 20:37:56 +10:30
Dr-Carlos 2f2e4bb1d5 shell: provide parser with expr_or_range() function 2022-12-17 20:37:56 +10:30
Dr-Carlos 1082c451d2 Remove _dr and add token options to atom and expr 2022-12-17 20:37:56 +10:30
Lephenixnoir 0f5c1c2eba
shell: improve error behavior of parser and autocompletion
* Example on _e, but other commands are probably affected
* When completing, throw CompletionRequest("_error", <message>) to have
  a reasonable output and not mess up readline
* Avoid early returns (or if a command really cannot be completed,
  adjust the ShellCommand declaration to not run the command)
* Less CommandError in the parser, these would throw during
  autocompletion and annoy everyone
* Allow options with empty value so that we don't throw when
  autocompleting after typing eg. 'vspace='
2022-04-18 11:55:25 +01:00
Lephenixnoir e0783c2348
shell: exhaust parser after parsing error 2022-04-18 11:30:49 +01:00
Lephenixnoir 8a2c67d83f
fix token memory leaks in lexer 2022-04-06 12:02:53 +01:00
Lephenixnoir bd5e1f918c
change option syntax; less exceptions; better autocompletion
* Change option syntax to <name>=<value>, with mandatory "=". This is
  still not great, but manageable.
* Remove the Session::require_vspace() function, whose named overload
  was misused (to check for the existence of a named space), and the
  associated exceptions. Explicit error flow is better error flow.
* Change the autocompletion system to generate all options in a vector
  of strings and then iterate, rather than using generators.
* Add completion for symbols.
2022-03-04 22:54:45 +00:00
Lephenixnoir 3b684389e9
replace CLI with WIP shell (huge commit) 2022-03-04 11:29:33 +00:00