Я построил простой текстовый редактор с некоторой функцией доступности для программного обеспечения для чтения экрана. Я использую Python для .NET(pythonnet), чтобы показать форму, содержащую богатое текстовое поле. Когда пользователь нажимает вкладку после периода, она всплывает в контекстном меню с пополнениями для выбранного элемента. Хорошо, он отлично работает с объектами Python, но он не работает с живыми объектами .net, нет решения этой проблемы. Теперь я хочу создать объект TreeView со всеми именами и определениями модуля, который я редактирую.
Итак, например, я печатаю:
import sys
import os
lst = list()
и т.д.... Если я использую jedi.names моего источника, я могу получить os, sys и lst. Для каждого имени я хочу получить вспомогательные определения, такие как функции для модуля sys и os, а также методы для lst. Я не могу найти способ сделать это с помощью джедая:
names = jedi.names(MySource)
names[0].defined_names() # works for sys
names[1].defined_names() # works for os
names[2].defined_names() # doesn't work for lst instance of list().
Любые предложения? Я пытался использовать все больше и больше редакторов, но поддержка доступности очень плохая...