Cudatext. Плагин breadcrumbs

mix-7
Posts: 741
Joined: 11.05.2018 11:02

Cudatext. Плагин breadcrumbs

Post by mix-7 »

CudaText 1.195.0.4, linux-x86_64-gtk2, fpc 3.2.3
Ubuntu 23.04

Плагин breadcrumbs

Меню _ Plugins - Breadcrumbs - Show code-tree
Открываетсе небольшое окошко code-tree
при вводе слова в поле поиске и Enter ошибка:


Code: Select all

Init: cuda_tree_wikidpad
TypeError: 'NoneType' object cannot be interpreted as an integer

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/one/.config/cudatext/py/cudatext.py", line 1257, in _dlg_proc_callback_proxy
    return _live[info](id_dlg, id_ctl, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 373, in on_search_change
    self.select_next(ignore_current=False)
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 262, in select_next
    id_item = self._find_next(txt, ignore_current, reverse)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 561, in _find_next
    sel_props = tree_proc(self.h_tree, TREE_ITEM_GET_PROPS, id_item=sel_id) # 'parent'
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cudatext.py", line 1155, in tree_proc
    return ct.tree_proc(id_tree, id_action, id_item, index, to_str(text), image_index, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SystemError: <built-in function tree_proc> returned a result with an exception set
ERROR: Exception in CudaText for cudatext._dlg_proc_callback_proxy: SystemError: <built-in function tree_proc> returned a result with an exception set
TypeError: 'NoneType' object cannot be interpreted as an integer

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/one/.config/cudatext/py/cudatext.py", line 1257, in _dlg_proc_callback_proxy
    return _live[info](id_dlg, id_ctl, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 373, in on_search_change
    self.select_next(ignore_current=False)
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 262, in select_next
    id_item = self._find_next(txt, ignore_current, reverse)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 561, in _find_next
    sel_props = tree_proc(self.h_tree, TREE_ITEM_GET_PROPS, id_item=sel_id) # 'parent'
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cudatext.py", line 1155, in tree_proc
    return ct.tree_proc(id_tree, id_action, id_item, index, to_str(text), image_index, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SystemError: <built-in function tree_proc> returned a result with an exception set
ERROR: Exception in CudaText for cudatext._dlg_proc_callback_proxy: SystemError: <built-in function tree_proc> returned a result with an exception set
TypeError: 'NoneType' object cannot be interpreted as an integer

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/one/.config/cudatext/py/cudatext.py", line 1257, in _dlg_proc_callback_proxy
    return _live[info](id_dlg, id_ctl, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 373, in on_search_change
    self.select_next(ignore_current=False)
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 262, in select_next
    id_item = self._find_next(txt, ignore_current, reverse)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 561, in _find_next
    sel_props = tree_proc(self.h_tree, TREE_ITEM_GET_PROPS, id_item=sel_id) # 'parent'
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cudatext.py", line 1155, in tree_proc
    return ct.tree_proc(id_tree, id_action, id_item, index, to_str(text), image_index, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SystemError: <built-in function tree_proc> returned a result with an exception set
ERROR: Exception in CudaText for cudatext._dlg_proc_callback_proxy: SystemError: <built-in function tree_proc> returned a result with an exception set
TypeError: 'NoneType' object cannot be interpreted as an integer

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/one/.config/cudatext/py/cudatext.py", line 1257, in _dlg_proc_callback_proxy
    return _live[info](id_dlg, id_ctl, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 373, in on_search_change
    self.select_next(ignore_current=False)
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 262, in select_next
    id_item = self._find_next(txt, ignore_current, reverse)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cuda_breadcrumbs/dlg.py", line 561, in _find_next
    sel_props = tree_proc(self.h_tree, TREE_ITEM_GET_PROPS, id_item=sel_id) # 'parent'
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/one/.config/cudatext/py/cudatext.py", line 1155, in tree_proc
    return ct.tree_proc(id_tree, id_action, id_item, index, to_str(text), image_index, data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SystemError: <built-in function tree_proc> returned a result with an exception set
ERROR: Exception in CudaText for cudatext._dlg_proc_callback_proxy: SystemError: <built-in function tree_proc> returned a result with an exception set
Saved session: "history session.json", 34 file(s) + 1 untitled, by timer at 01:01:44
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

поправил. обновил плагин. там правда еще недоделка - при вызове code-tree (в диалог плагина) нет выделения в дереве и поиск ничего на найдет пока не кликнем сначала в дерево.
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

доделал это место. теперь ищет.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Спасибо!
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Вопрос по плагину Breadcrumbs
Можно сделать, чтобы он запоминал значение
Toggle breadcrumbs
после закрытия Cudatext?
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

пока нельзя. состояние сбрасывается при рестарте.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

А если добавить в
plugins.ini
в секцию
[breadcrumbs]
параметр
show_on_start=1 (или 0 - не показывать)

Или
position_bottom= еще одно значение -1 - не показывать до Plugins - Toggle breadcrumbs
main Alexey
Posts: 2245
Joined: 25.08.2021 18:15

Post by main Alexey »

я не писал тот плагин так что быстрого патча не сделаю. мне копать плагин надо. может вы дадите патч?
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Здравствуйте! Да, посмотрю.
mix-7
Posts: 741
Joined: 11.05.2018 11:02

Post by mix-7 »

Уф! Долго искал, расставил отладочные print для вывода в консоль.
Ошибка моя была в том, что SHOW_BAR была локальной переменной в функции _load_config

А так изначально сделал все правильно.
Самое простое - это присвоить в коде SHOW_BAR = False в самом начале плагина.
Тогда эта строка не показывается изначально, а включить ее можно по команде плагина Toggle .

Код приведу в следующих постах.
Post Reply