-
Notifications
You must be signed in to change notification settings - Fork 2
/
TODO
78 lines (71 loc) · 2.79 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
Implement libbvim and Qt gui
Directions
===========================
1. Add C-syntax structures parsing and searching (high priority)
-- IN PROGRESS
2. Add hex-data folding support (or lines, or blocks)
3. Add GZIP, ZIP, TAR, etc signatures to search and highlight (e.g. from binwalk)
add them into sqlite
4. Add :unmap (:unm) feature
-- IN PROGRESS
5. Add :split feature (low priority)
6. Add binary diff mode
7. Templates support (high priority)
8. Add support for 8-bit, 16-bit, 32-bit, 64-bit and 128-bit modes
9. Add support for big-endian and little-endian
10. Add signature search for executable code and file headers
12. Add tabs for various buffers
13. Add tools tabs (e.g. for templates, history, etc)
14. Implement lua REPL console
-- 90% done
15. Implement network team work support (like PiratePad, Gobby/infinoted)
16. Add terminal resizing support
17. Add MathGL visualisation plugin: gistogram, file map, etc.
18. Save project (with comments, marks, blocks list, highlights and history)
into some file (can be just zip directory with all files)
19. Implement VIRTUAL_BLOCK with id == 0, which mean whole file/buffer
20. Add Unicode and other encodings support
21. Implement lua REPL as pipe/server, to use with multimonitor configuration
22. Add fuzzy logic
Simple tasks
============================
1. Rename project to "bvim"
-- 90% done
2. Add history of commands
-- 90% done
3. Blocks commands:
a) block-save to separate file
b) block-reverse
c) blocks list
d) blocks send to disasm
4. Add lua events:
a) cursor move back, forward, up and down
b) cursor on some block
5. Add scrolling in tools window (with keys and from lua) (HIGH PRIORITY!)
6. Add checks of terminal color mode
7. Add normal keymapping with keys names
-- 90% done
8. Implement block parameter as bitfields (folding, highlighting, color, etc) (LOW PRIORITY)
9. All operations (XOR, AND, etc) must support hexadecimal arguments
-- IN PROGRESS
10. Prevent blocks overlapping
-- 90% done
11. Add folding empty and repeating data sequences
12. Implement "universal" CRC poly/gen calculator, with ability setup generator poly from lua
-- 80% done
13. Add lua/plugins hooks into standard handler_* and command_*
14. Add block and symbol annotations - show when place cursor on it
15. Add possibility to :run <script> with full file path to script
Refactoring Tasks
============================
1. Split out math and logic functions in math.c (and/xor/etc)
-- IN PROGRESS
2. Implement Core and Editor objects/structures
-- 90% done
3. Convert editor output to editor container (for support splitting/diff features)
4. Eliminate DOS stuff
-- 90% done
5. Add file stream object for supporting continious and large files
6. Split all output to another file console.c, add unified API for GUI
-- IN PROGRESS
7. Add doxygen documentation