Half of new double option

class_based_refactor
Nicholas Hope 2022-08-21 21:20:52 -04:00
parent 4944292483
commit 9ba82add22
1 changed files with 22 additions and 8 deletions

View File

@ -177,12 +177,12 @@ def listHold(key, options):
oldBindOrAlias = bindOrAlias
bindOrAlias = 'alias'
ret = impulse(f'+{key}_press', options["press"]) +\
impulse(f'-{key}_press', options["release"])
plus = impulse(f'+{key}_press', options["press"])
minus = impulse(f'-{key}_press', options["release"])
bindOrAlias = oldBindOrAlias
ret += f'{bindOrAlias} {key} "+{key}_press"\n'
ret = plus + minus + f'{bindOrAlias} {key} "+{key}_press"\n'
return ret
@ -201,9 +201,10 @@ def toggle(key, instruction):
return ret
def double(key, options):
primaryAction = options["primary"]
typeName = options["type"]
primaryAction = {typeName: options.pop("primary")}
secAction = options["secondary"]
secAction = {typeName: options.pop("secondary")}
mainStr = f'{key}_main'
altStr = f'{key}_alt'
@ -213,11 +214,24 @@ def double(key, options):
global bindOrAlias
oldBindOrAlias = bindOrAlias
bindOrAlias = "alias"
recursiveCode = branch(mainStr, primaryAction) +\
branch(altStr, secAction)
mainCode = branch(mainStr, primaryAction)
altCode = branch(altStr, secAction)
cancelBoth = ("cancel" in options and options["cancel"] == "both")
if cancelBoth:
if isinstance(primaryAction["hold"], dict):
lines = mainCode.splitlines()
minusCmd = lines[1]
_, minusStr, previousMinus = minus.split(' ', 2)
newMinus = previousMinus[0:-2] + ';' + + '"\n'
lines[1] = f'alias {minusStr} "{newMinus}"\n'
else:
# simple
pass
bindOrAlias = oldBindOrAlias
ret = recursiveCode +\
ret = mainCode + altCode +\
f'alias {pShiftStr} "{bindOrAlias} {key} {altStr}"\n' +\
f'alias {mShiftStr} "{bindOrAlias} {key} {mainStr}"\n'+\
f'{bindOrAlias} {key} "{mainStr}"\n'