{"action":"created","issue":{"url":"https://api.github.com/repos/bonecode/TBCEditor/issues/122","labels_url":"https://api.github.com/repos/bonecode/TBCEditor/issues/122/labels{/name}","comments_url":"https://api.github.com/repos/bonecode/TBCEditor/issues/122/comments","events_url":"https://api.github.com/repos/bonecode/TBCEditor/issues/122/events","html_url":"https://github.com/bonecode/TBCEditor/issues/122","id":88427800,"number":122,"title":"Make TBCEditorUndoItem virtual and remove TBCEditorChangeReason","user":{"login":"EricGrange","id":2197210,"avatar_url":"https://avatars.githubusercontent.com/u/2197210?v=3","gravatar_id":"","url":"https://api.github.com/users/EricGrange","html_url":"https://github.com/EricGrange","followers_url":"https://api.github.com/users/EricGrange/followers","following_url":"https://api.github.com/users/EricGrange/following{/other_user}","gists_url":"https://api.github.com/users/EricGrange/gists{/gist_id}","starred_url":"https://api.github.com/users/EricGrange/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EricGrange/subscriptions","organizations_url":"https://api.github.com/users/EricGrange/orgs","repos_url":"https://api.github.com/users/EricGrange/repos","events_url":"https://api.github.com/users/EricGrange/events{/privacy}","received_events_url":"https://api.github.com/users/EricGrange/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-15T13:30:03Z","updated_at":"2015-06-16T12:38:29Z","closed_at":null,"body":"Longer term issue, the goal would be to be able to handle higher-level, custom undo actions.\r\n\r\nFor instance \"comment block\" or \"surround with\" actions can modify a lot of lines and can be made codefolding-aware, but if you have to go through several items with TBCEditorChangeReason, it result in a complex undo block that is not codefolding-aware.\r\n\r\nThis would also naturally break down the monolithic TBCBaseEditor.UndoItem method into many small and simple independent methods."},"comment":{"url":"https://api.github.com/repos/bonecode/TBCEditor/issues/comments/112409642","html_url":"https://github.com/bonecode/TBCEditor/issues/122#issuecomment-112409642","issue_url":"https://api.github.com/repos/bonecode/TBCEditor/issues/122","id":112409642,"user":{"login":"bonecode","id":11475177,"avatar_url":"https://avatars.githubusercontent.com/u/11475177?v=3","gravatar_id":"","url":"https://api.github.com/users/bonecode","html_url":"https://github.com/bonecode","followers_url":"https://api.github.com/users/bonecode/followers","following_url":"https://api.github.com/users/bonecode/following{/other_user}","gists_url":"https://api.github.com/users/bonecode/gists{/gist_id}","starred_url":"https://api.github.com/users/bonecode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bonecode/subscriptions","organizations_url":"https://api.github.com/users/bonecode/orgs","repos_url":"https://api.github.com/users/bonecode/repos","events_url":"https://api.github.com/users/bonecode/events{/privacy}","received_events_url":"https://api.github.com/users/bonecode/received_events","type":"User","site_admin":false},"created_at":"2015-06-16T12:38:29Z","updated_at":"2015-06-16T12:38:29Z","body":"The problem with the undo and code folding is the code folding rescan. After rescan you lose the pointer to a certain fold range. That's why the UndoItem procedure will uncollapse folds. But basically anything can happen around the code folding and the undo should some how track those changes... blaah... any ideas? :)\r\n\r\nI'm not sure if I am at the same page with this TBCEditorChangeReason removing and making TBCEditorUndoItem virtual. If the TBCEditorChangeReason is removed then how did you think that the undo event would know what it should do? Some kind of general action method as a parameter?"}}