cutter/docs/source/plugins.rst

36 lines
1.2 KiB
ReStructuredText

Plugins
=======
Cutter supports writing plugins in both C++ and Python.
If you are unsure of which language to choose, starting with Python is strongly suggested as
it provides a faster and simpler workflow.
If you plan to implement support for a new file format or architecture, Cutter plugins are not the correct approach.
Instead, you will want to implement a Rizin plugin, which is documented `here <https://book.rizin.re/plugins/intro.html>`_.
Loading and Overview
----------------------
Plugins are loaded from an OS-dependent user-level directory.
To get the location of this directory and a list of currently loaded plugins, navigate to Edit -> Preferences -> Plugins.
.. image:: contributing/plugins/preferences-plugins.png
The plugins directory contains two subdirectories, ``native`` and ``python`` for C++ and Python plugins respectively,
which will be created automatically by Cutter.
.. note::
The support for Python plugins is only available if Cutter was built with the options ``CUTTER_ENABLE_PYTHON``
and ``CUTTER_ENABLE_PYTHON_BINDINGS`` enabled.
This is the case for all official builds from GitHub Releases starting with version 1.8.0.
Creating Plugins
------------------
.. toctree::
:glob:
contributing/plugins/*