FEATURE: modular structure for adding APPS into TalonVoice framework
See original GitHub issueThe app folder structure as refactored by @knausj85 in bba1b56 for VSCODE is a step in the right direction for maintainability and extending. 🥇 updated from discussions below
app
/<MYAPP>
<MYAPP>.<OS>.talon (implementation code - where <OS> is linux | mac | win)
<MYAPP>.py (talon support python code for MYAPP)
<MYAPP>.talon (Voice Commands for MYAPP)
I still believe platform differences could be managed in 1 file, reducing the amount of duplicate work in building support for a cross platform app. This will however need extending the talon syntax to enable a line in the talon file to apply or be exempt from a specific platform context.
Additionally, the support, maintenance and monolithic nature of where this repository is heading should at some point be considered. It seems a huge task for this one repo to hold all commands for all conceivable applications. . It is also conceivable a user does not want a blotted command set but wants to pick and choose modules. The above structure that was introduced is in my opinion a great step forward. Together with some guidelines it will enable building on top of the great work the core of this repository has introduced with the awesome TalonVoice by @lunixbochs
my intent with this issue is a place holder FEATURE discussion around appropriate structuring
Issue Analytics
- State:
- Created 3 years ago
- Comments:11 (7 by maintainers)
yeah, i moved the relevant .py for vscode into apps/vscode too, so that’s where we’re headed.
Long term, I believe the plan is a package management/plugin system in talon of some sort, so starting from a huge repository like this won’t be a thing, fwiw.
I’ll definitely consolidate Talon files where possible if/when that’s implemented.
I won’t accept all PRs; I am more likely to accept PRs for more specific contexts. The less specific the context, the more selective I’ll be.
I generally prefer a flatter folder structure. vscode is probably the direction I’ll slowly move things. I’d like to get rid of the platform subfolders, but that can probably wait until the consolidation.
WIP.