In term of workflow, i'm very limited by my work environment where i cannot run sublime in the same environment as the simulator (Questa). So i have some special plugin with one command that save all file, commit to a temporary branch (if not already in a tmp branch) and then push to a private repo accessible in the simulation environment ...
I had a look at pyparsing, mainly with the idea of doing some linting (since i cannot use the output of my simulator to do it), but it feels like a lot of work to start having something working. So that's why i over-abused regexp, it allows me to get features really quickly: i wonder what is the impact in term of performances compare to use a parser and build an AST. In term of parser i also had a look at pydsl which seems pretty interresting.
By the way i added a few new interresting features:
* Expand/compress of .* in module instantiation ala emacs Autostar
* smart always snippet (more configurable and with auto clock/reset name based on context)
* Goto driver, when you want to know who is driving your signal (input of your module, output of an instance, an assign , ...)