add findInFiles plugin

This commit is contained in:
2022-07-30 09:17:08 +02:00
parent 1a4006ca8f
commit 14c059e5aa
12 changed files with 247 additions and 11 deletions

View File

@@ -33,18 +33,50 @@ def sort_menu_contributions(menu_contributions: [MenuContribution]) -> [MenuCont
result = []
items = _sort_by_action_id(menu_contributions[:])
_recursive_half_order_adder(result, items)
# add remaining items to the end (ordered by their action_id)
# This resolves cycles.
for item in items:
result.append(item)
return result
def _recursive_half_order_adder(result: [MenuContribution], items: [MenuContribution]):
for item in items:
mc: MenuContribution = item
if not mc.after:
result.append(mc)
items.remove(mc)
result = result + _new_recursive(mc.action_id, items)
# _recursive_half_order_adder(result, items)
# add remaining items to the end (ordered by their action_id)
# This resolves cycles.
for item in items:
if result.count(item) == 0:
result.append(item)
return result
def _new_recursive(current_action_id: str, items: [MenuContribution]) -> [MenuContribution]:
result = []
for item in items:
mc: MenuContribution = item
print("%s checking %s" % (current_action_id, mc.action_id))
if mc.after == current_action_id:
print("%s adding %s" % (current_action_id, mc.action_id))
result.append(mc)
result = result + _new_recursive(mc.action_id, items)
return result
def _recursive_half_order_adder(result: [MenuContribution], items: [MenuContribution]):
print("%s -- %s" % ([mc.action_id for mc in result], [mc.action_id for mc in items]))
for item in items:
mc: MenuContribution = item
if mc.after:
index = 0
for r in result:
index = index + 1
mc_in_result: MenuContribution = r
if mc.after == mc_in_result.action_id:
result.insert(index, mc)
items.remove(mc)
_recursive_half_order_adder(result, items)
if not mc.after:
result.append(mc)
items.remove(mc)