dail8859 / ElasticTabstops

Elastic Tabstops plugin for Notepad++
GNU General Public License v2.0
76 stars 16 forks source link

Port to Lua (LuaScript) #20

Closed mjfs closed 4 years ago

mjfs commented 4 years ago

In some cases it might be preferable to not have a dependency on another binary for Elastic tabstops functionality. Such cases can include either security related reasons (e.g. DLL trust or code review policies) or high level of on-the-fly customizability.

When going through the codebase I was wondering whether there is any functionality present that could not be implemented with LuaScript (another Notepad++ plugin). I realized then that author of LuaScript and ElasticTabstops is the same person.

Therefore let me first thank you (@dail8859) for extremely useful plugins. Before going down the path of implementing Elastic tabstops functionality in Lua, a quick assessment of whether this is feasible (and possibly how it would perform in best case scenario) would really help.

dail8859 commented 4 years ago

As far as I recall everything this plugin does is currently available and possible to do via LuaScript...though I cannot guarantee that is the case. It just uses Notepad++ and Scintilla messages/notifications to do all the processing. I'm not sure if performance would become an issue. This plugin goes to great lengths to reduce the potential amount of text it has to process each time the user modifies the document, though even this implementation is not perfect.