id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	branch_state	votes
4187	S-Lang scripting for MC	psprint		"Hi
I'm sending a patch that is a proposition for:
- having a scripting language support in MC,
- having a plugin API support in MC.

The language/engine is S-Lang from the library that's already linked with MC – libslang.so. The syntax is very friendly as it's basically almost the same as syntax of C. Usage of the scripting is also very friendly, thanks to the tool [https://space.mit.edu/cxc/slirp/ SLIRP] which can be used to add C-backed functions to the interpreter (basically, it's ''binding'' process). The tool is very mature and well coded, it has many features (look at the file slirprc in the patch to see how the number of char ** array elements is automatically passed to the C function and omitted from the interpreter function).

I've exported a few functions, such as `get_byte` or `cursor_offset`, etc. The task isn't yet finished, as many other functions have to be exported, such as display moving function. Also, a few mechanisms have to be came up with.

There's a proof of concept plugin ''grow_shrink_integer.plugin.sl'' implemented (see the patch). Plugins are automatically sourced from ~/.config/mc/plugin dir.

What do you think? Does this light and very nice scripting mechanism have a chance of merging?

PS. I attach also a PDF with description of the current scripting API.
"	enhancement	closed	major		mc-core	master	wontfix		mooffie@… egmont			no branch	
