This is a plea for the implementation of a much more capable macro functionality. I love Sublime Text, but its biggest short-coming for me is this serious lack of command recording for seemingly anything beyond trivial text manipulation. I appreciate the recommendation for the Chain of Command solution, but I am struggling to get even simple cursor selections and movements to work with it while trying to use it with my example problem below, so I anticipate that its use-cases will be limited.
Veteran editors such as Vi and Emacs have strong macro support that I frequently find myself wishing Sublime had. Yesterday, for example, I was wanting to parse compiler debug output to give me the commands and how long the commands took to execute. The following is sample output (simplified for the example; have hundreds of lines with this structure):
#43 cmd: GET_SETTINGS time In : 515797
#23 time out: 515864
#44 cmd: UPDATE_SETTINGS time In : 515950
#24 time out: 516026
#45 cmd: WRITE_SETTINGS time In : 516112
#25 time out: 516183
To get the following:
GET_SETTINGS 67
UPDATE_SETTINGS 76
WRITE_SETTINGS 71
I am a novice with Python, but have some experience. I managed to write a plug-in to accomplish the above, but it took me at least a couple hours to get it working. Using Emacs I was able to craft a macro in under five minutes (including time to fix a couple mistakes) that does the same parsing. I anticipate that with more experience I might be able to craft a plug-in in around 15 minutes, but this requires Python experience which should not be a prerequisite for text editor users and is still an excessive amount of time for simple one-off tasks where I frequently use macros for such solutions in a minute or five.
Please implement better macro functionality.