Skip to content
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

Add definition deletions to user.json #726

Open
JasonWoof opened this issue Mar 14, 2017 · 4 comments · May be fixed by #1160
Open

Add definition deletions to user.json #726

JasonWoof opened this issue Mar 14, 2017 · 4 comments · May be fixed by #1160

Comments

@JasonWoof
Copy link

Feature request:

I want to be able to add something to my user.json that has the same effect as removing that stroke from main.json, but without modifying main.json at all.

For single-stroke briefs, it's usually easy to just add the definition I want, but for multi-stroke briefs, when I want the strokes to be looked up separately, the only good way to do this currently is to delete from main.json

This leads to two problems:

First, for individuals, this makes it hard to upgrade to the latest main.json from the latest version of plover (because it'll re-add all the definitions you deleted.)

And Second, as a consequence, there is much less participation in improving main.json, because most experienced stenos have long ago forked main.json, and have no decent way of using the latest main.json. It's hard to be motivated to improve Free Software stuff that we don't use personally.

I think the default main.json is a critical part of the value provided by Plover, and its quality will determine whether many people stick with steno or not.

Also, those of who stay spend many duplicated hours of work fixing our local main.json files.

For these reasons, I think it is important that we can make all our dictionaly modifications without editing the main.json file.

A secondary benefit of this feature is that dictionaries that we share can be more powerful. For example a dictionary for using SKP[...] for "ex[...]" words would fix several word conflicts, and with this feature could remove the multi-stroke definitions that are no longer needed, thus reducing colateral damage to other sequences.

Example: I've trained myself to type "cannot" with KANLT so I expect to get "can not" from K/NOT. options:

  1. I can delete K/NOT from main.json, but that makes it hard for me to upgrade main.json later

  2. I can add K/NOT → "can not" but sometimes doing this creates conflicts (or fails to get rid of them.) It's probably fine in this case, but if I had a better example, you'd see how I would want the first stroke to be interpreted as the final stroke of the previous definition where appropriate.

I want a third option that is:

  1. I can add something to my user.jason (or any dictionary) that makes plover ignore that key in all lower-priority dictionaries.

I'm not real particular about how it's implemented, but here some ideas:

"K/NOT", null,

"K/NOT", "{PLOVER:DELETED}",

The advantage of the latter is that it can be pasted into the DUPT dialog box, offering a solution with no UI changes required.

If we want to get fancy, we could add a new dialog box for deleting definitions in this way. It would be very much like the DUPT dialog box, but without the translation stuff (but including the pull-down for which dictionary.)

P.S. One more benefit: with deletions in user.json, this makes it easier to batch-submit all your dictionary changes to issue 400 by just uploading your whole user.json, then starting a new dictionary (so next time you submit you don't resend all the stuff you sent before again.)

@benoit-pierre benoit-pierre changed the title Add definition deleteions to user.json Add definition deletions to user.json May 8, 2017
@benoit-pierre
Copy link
Member

POC: https://gist.github.com/anonymous/a8d7845e38ab758aa193ac59b953d762, to "delete" a definition, map the same strokes to an empty translation in a higher priority dictionary.

@benoit-pierre benoit-pierre added this to the 4.0.0 milestone Mar 2, 2018
@benoit-pierre benoit-pierre self-assigned this Mar 10, 2018
@sashira
Copy link

sashira commented Mar 28, 2020

is there any easy way to correct errors in the dictionaries or to change them to suit me better if it makes it easier for me to remember things? I just came across a simple example of the word 'tour' and in the dictionary it's spelled tor and there is a real word that is spelled tor, a rocky ourcrropping is a tor. I went to the dictionary builder and tried to put in some variations but they didn't really work the word has the oo sound so it should be spellled with an oa even though it doeesn't contain the double o's Any suggestion?

@JasonWoof
Copy link
Author

@sashira I think the standard practice is to to create new entries in your personal dictionary that mask/fix the parts you don't like in the main dictionary. If you use this technique consistently then you can upgrade to a newer main.json later without losing your changes.

Alternatively, some stenographers decide they'd rather edit main.json than get updates, and they just fix/change stuff like this directly in main.json

There's nothing sacred about main.json, you can just decide for yourself if your updates to main.json are more valuable to you than the updates that get merged upstream.

@gdwaynewarner
Copy link

Yes, JasonWoof pretty much said it all!

I don't use Plover's built-in dictionary, having learned one before (Phoenix, for the curious).

The version of Phoenix that I learned included an extra alphabet and several word parts, which should allow one to stroke out all sorts of foreign names, but since the author of the theory died a couple years back, the new "Phoenix Theory Mom" has been overwriting those outlines, so my version is from 2014, and doesn't get updated.

Instead, any new updates would go into my "Glenz_Fast" dictionary -- after I check them against my old Phoenix dictionary with a test stroke of the potential outline -- along with any outline I find from other theories that doesn't conflict with any of the outlines in either of my dictionaries.

I talk about that method in this article, for the curious.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants