#api-bindings #hex-chat #plugin-api #plugin #hexchat-plugin

hexchat-unsafe-plugin

Lets you write native HexChat plugins in mostly-safe Rust

5 stable releases

Uses old Rust 2015

2.3.0 May 1, 2022
2.2.0 Apr 30, 2022
1.0.0 Apr 12, 2022

#32 in #plugin-api

GPL-3.0-or-later and AGPL-3.0-or-later

145KB
2.5K SLoC

Rust hexchat-unsafe-plugin

hexchat-unsafe-plugin provides rusty API bindings for developing native HexChat plugins.

To get started, implement hexchat_plugin::Plugin on a struct and use the hexchat_plugin!('a, impl Plugin<'a>) macro in your lib.rs. Do not provide a main, as it will not work. Make sure to use the cdylib crate-type, or it will also not work.

Also note that plugins may be loaded multiple times. It's recommended to avoid using global state (statics, thread locals) so as to not cause issues with it.

Examples

For a production-grade plugin using this crate, take a look at [TODO].

License

Hexchat Plugin API Bindings for Rust
Copyright (C) 2018, 2021, 2022 Soni L.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.

Dependencies

~1.5MB
~38K SLoC