Roadmap: known issues and coming new features
itchyny opened this issue · comments
Thank you for getting interested in my product.
Notes:
- This product is my hobby product. Please do not ask me when some features will be implemented. I will implement what I want when I need (mostly) on weekends.
- Your advice for new features are welcome. I'm not familiar with reverse-engineering, I'm not an expert of some binary file format.
- This project is open sourced. You can freely create a fork of the repository. I appreciate if you send me patches to improve features, fix some bugs and so on.
Multi-platform distribution
-
Testing on TravisCI- Test in GitHub Actions 8947cd1
- Homebrew rule
- Windows support
- Distribution from GitHub Releases
Small bugs
- Visual mode should accept count for key mappings 6ce206c
- Cursor position should be taken into account on switching between windows
- One key stroke is missing after process suspension on macOS (known issue of tcell)
- Replace (r) should exit replace mode at once 1087bf9
New features and improvements
I will definitely fix or implement these features.
- Yank, cut and paste: 1817e54 c39eb95 260b641
- Delete bytes (x, X) should copy the deleted region 8c3f962 5d278e2 3eded55
- Alternative buffer switching f4f4a52 9d4a72e c2e62b8 14c60c0
- Search by bytes 2e929ee
- Search in asynchronous loop ccab6b8.
- Bitwise editing
- Marks
- Registers
- Aborting write with c-c
- Command flags (--version, --help, etc.) feb31e1
- Command line history
- Mouse support
- Execute external command
- Vendor tcell with dep e47daf1
- Migrated to Go modules d3d4eb0
More commands
- zt, zz, zb de8947c 27f14bf 0841ff7 c1cff0d 342e972 cb213ed
- :enew command e0dcb7f
- :buffer/:ls command
- :below command
- :split/:vsplit commands
- :topleft/botright/... commands
- :only command 9124fcb
- :new/:vnew should accept count to open with the specific height/width
More features
Please do not expect me to implement these features, but I'm interested in. I need some feedbacks.
- Help buffer (:help)
- Embed markdown documents?
- Diff (:diffthis/:diffoff)
- File format inspector
- Using debug/elf package?
- It'll be tough to implement many kinds of binary file formats. But I think I have to support for executables at least. There are already many soft-wares so needs investigation.
- I'm also interested in image formats.
- Support multiple text encodings
- bed is a binary editor. Maybe supporting for analyzer of executables has higher priority than text encodings.
- Configuration
- I think this product should provide the good defaults. I'm not sure which parts users may want to configure. Mappings, displayed formats, event hooks ...
- Plugin
- I can't imagine what kind of plugin is required for binary editors. I need some investigation of other editors.
- Also, I don't want to create a new scripting language. gRPC support?
- Tabs
- I like the tab behavior of Vim. But I hear that many people like displaying buffers in tabs.
- Session restoration
- Macro and repeating
- GUI frontend or web-based UI
- Stdin support
- It'll be tough to implement many kinds of binary file formats. But I think I have to support forexecutables at least. There are already many soft-wares so needs investigation.
- I'm also interested in image formats.
Probably you could use Kaitai to parse the files