-
Notifications
You must be signed in to change notification settings - Fork 1
/
TODO
36 lines (33 loc) · 1.41 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
========
TODO
========
------------------
Design decisions
------------------
- Capturing raw keyboard input in a terminal is next to impossible but support for terminals is a must. This is why micro must be implemented as an ncurses application for the time being. An xwindows based implementation with full keyboard support is planned for some later date. The xwindows based version will be based on a custom (limited) implementation of ncurses on X.
- Handling terminal keyboard input is way too messy. Alt+key is delivered as ESC, Key there is no way distinguishing an ESC following by a keypress and pressing Alt+key.
- libtermkey does not have any workaround for this. Press ESC+a in the demo application to see what I mean (it will be reported as <M-a>).
----------
Features
----------
- Quick file opener with auto completion
- Managed sections.
- Examples (for python)
- Imports. Imports should be ordered by line length.
- Code. Functions, classes, globals should be sorted alphabetically.
- Tests
- The main function
- Document Map
- Clipboard stack (systemwide?).
- Tabs
- Tab switcher
- Code completion
- Syntax parsers in Ometa
- Refactoring
- Extract function
- Plugins (in python)
-----------
Commands
-----------
- Move context to its managed section.
- Example: Type an import statement anywhere in the editor and then invoke this command to move it to the imports managed section.