-
Notifications
You must be signed in to change notification settings - Fork 783
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
porting the .csv files to .talon-list files #1268
Conversation
Some thoughts from the grooming session today:
|
- move logic to migration_helpers.py - Auto-convert known and supported CSVs in on_ready - initial example conversion of git_commands
for more information, see https://pre-commit.ci
I took a swing at making progress on this. Proposal:
If this seems reasonable to folks, this is what needs attention:
|
for more information, see https://pre-commit.ci
This provides a quick and dirty solution for emojis. There's probably a better way to do this.
for more information, see https://pre-commit.ci
- newpath can now be a function - add support for custom header function convert system path as host specific for now.
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
add is_first_line_header parameter to the config for each file
for more information, see https://pre-commit.ci
I'm pretty satisfied with this approach. Reopening for review. I don't have time to really think through all the edge cases though, so there might be a handful of conversion issues. Perhaps some other folks can help out if motivated. Could probably use some testing if folks have time. Great work on the initial implementation @saidelike, btw! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I'd be happy to give this a spin before we hit the final merge button to make sure it works for me; I have a heavily custom fork so should be a good test case
Speaking of test cases, those would be nice to have, but seems difficult
Co-authored-by: Pokey Rule <[email protected]>
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
Ultimately, talon has evolved and the repo needs to evolve alongside. I ran the converter some months ago, and vastly prefer tracking these files in git:
FWIW there was some discussion of this issue on TL,DR: |
or pre-commit will do it for us.
for more information, see https://pre-commit.ci
Did a bunch of cleanup on the README. Ready for (hopefully) final review! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
Is this migration of CSV files supposed to run automatically? If yes, it does not work on my machine. For now, I have to revert this pull request in my setup. |
I ran into this too. I think it's a core Talon bug not recognizing the action even though we call it from a ready callback. The conversion should run when Talon is restarted, but not sure if we should try to work around this from community. |
I ran into this too and opted to manually migrate my alphabet though I'm not sure what other talon lists I may have missed. I wonder if it would be helpful to have a develop branch of the community repository where people could try out new features like this before they hit the main branch. |
That’s what the backlog sessions are for. And the PRs. I’m not sure what more involvement there is going to be beyond what we’re getting if we add yet more hoops for the very small number of people who meaningfully contribute to community. Anyway, see the community channel on the slack for more discussion.
|
All good. For my part, I would gladly use a develop branch and provide feedback on it, which could intercept some issues before they hit main. I can't make it to the backlog sessions (unfortunately) and don't have time to check out each PR individually so any feedback I provide on those would be just based on reading them, not based on my actual experience using them (hence not quite as authoritative, IMO). Besides being another hoop, a develop branch might free up merging PRs more easily since there would be another opportunity for feedback before merging to main. It also allows for PRs to be integrated and issues that come from integration to be discovered sooner. (that's how I've seen them used, anyhow) |
Some updates from discussion this week and in the community backlog session this morning:
|
…k. (#1558) See discussion starting at #1268 (comment)
#1558 has been merged FYI |
thanks for investigating and taking care of this! |
Use `hostname:` rather than `host:` to (correctly) match a hostname. Generate a default `system_paths-<hostname>.talon-list` akin to the prior CSV. Also makes some minor tweaks to the generated spoken forms: - only use "profile" for Windows; "home" for other platforms - add "talon recordings" (because I want to use it in the wiki)
Use `hostname:` rather than `host:` to (correctly) match a hostname. Generate a default `system_paths-<hostname>.talon-list` akin to the prior CSV. Also makes some minor tweaks to the generated spoken forms: - only use "profile" for Windows; "home" for other platforms - add "talon recordings" (because I want to use it in the wiki)
The goal of this PR is to:
This initial commit is about porting {user.letter}: alphabet.csv -> letter.talon-list
It includes a
.tools/convert_all_csv_files_to_talon-list.py
file in a hidden directory so it is not picked up by talon. Running this script gives something like:This script retrieves all the
.csv
files from thecommunity/
folder and try to convert them to.talon-list
files. It only support converting those that are default on knausj using a whitelist. Atm, onlyalphabet.csv
is implemented and the others are skipped on purpose. Also, a non defaultbla.csv
was created in settings in my local folder in order to show it is skipped.I am aware that some other PR exist (#1239 and #1240) but the idea of this new PR is to distinguish talon-list changes to make them more likely to be merged sooner than later. And also provide a script that people can run in order to upgrade their own csv if they have modified them.
Later, this script could support porting non default csv files but the users will still need to update their code accordingly to support the new talon-list files so we can't automate it.
I am mainly interested in feedbacks before we port the other .csv files to .talon-list files.