Page 1 of 2

Cudatext. Плагин breadcrumbs

Posted: 03.06.2023 22:09
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

Posted: 04.06.2023 07:37
by main Alexey
поправил. обновил плагин. там правда еще недоделка - при вызове code-tree (в диалог плагина) нет выделения в дереве и поиск ничего на найдет пока не кликнем сначала в дерево.

Posted: 04.06.2023 08:11
by main Alexey
доделал это место. теперь ищет.

Posted: 05.06.2023 09:09
by mix-7
Спасибо!

Posted: 09.06.2023 10:18
by mix-7
Вопрос по плагину Breadcrumbs
Можно сделать, чтобы он запоминал значение
Toggle breadcrumbs
после закрытия Cudatext?

Posted: 09.06.2023 15:03
by main Alexey
пока нельзя. состояние сбрасывается при рестарте.

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

Или
position_bottom= еще одно значение -1 - не показывать до Plugins - Toggle breadcrumbs

Posted: 11.06.2023 15:14
by main Alexey
я не писал тот плагин так что быстрого патча не сделаю. мне копать плагин надо. может вы дадите патч?

Posted: 12.06.2023 07:24
by mix-7
Здравствуйте! Да, посмотрю.

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

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

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