elna/TODO

33 lines
1.2 KiB
Plaintext

# Compiler
- Whitespaces are checked twice, in the source class and by lexing.
- Catch exceptions thrown by the argument parser and print them normally.
- Parser should be able to collect errors.
- Provide position information on parse tree nodes.
- Move constants to the symbol table, so we can check at parse time for duplicates.
- Allow defining variables.
- Don't pass raw pointers to the visitor methods.
- Make error abstract and derive unexpected_token in the lex module from it.
- Wrap the tokens in a struct with methods for incrementing and lookups.
- While loop.
- If condition.
- Grouping multiple statements with begin and end (compound_statement).
# Shell
- Persist the history.
- Replace hard coded ANSI codes with constants or functions.
## Completion
- Configure fzf to show only the current directory files
- Support multiple selections for insertion in fzf.
- Don't hardcode fzf binary path.
- Send the word under the cursor to fzf as initial input.
- Home directory expansion.
- Show files in the PATH if starting at the beginning of the prompt
## Appearance
- Add a bar with additional information under the prompt (edit_bar), like the hostname.
- Show current time in the prompt.