uxmal / reko

Reko is a binary decompiler.

Home Page:https://uxmal.github.io/reko

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reko doesn't maintain a "dirty state" nor an undo feature.

uxmal opened this issue · comments

There are several issues regarding data loss and user inconvenience at play here.

If you open /create a Reko project, make some changes, and select File > Exit, the Reko shell closes without prompting the user to save changes. Reko should either prompt the user to save changes, before closing the shell.

There is no notion of "undo", so you cannot back out of changes you've made to the project file inside the shell in an easy manner. Naturally, you can put the .dcproject under source control and git reset your way back to a prevous commit, but that isn't as convenient as simply Ctrl-Z;ing your way back to a prevous state.

In a perfect world, with infinite developer tme, I'd create an undo view, similar to what Photoshop has. It has a list of the most recent user operations, as a stack, and you can undo/redo to your heart's content.

In order to make this happen, a very important change has to happen in Reko: it needs to move over to using persistent data strutures. This vastly simplifies the management of undo state. Unfortunately, it's not something done over a weekend. I'd love to see some traction in this direction, but my time is already spread thin :) Volunteers are welcome. Please add a comment if you're interested in this feature and also if you're willing to help.