Nick Treleaven nick.treleaven@btinternet.com wrote:
I just changed the TODO wishlist item for Python scripting to 'Python plugin interface' - IMO there's no need for a ... It would be more useful to have Python bindings for the plugin API, so plugins could be written in Python instead of C. ... Of course this is only a wishlist item, don't anyone expect it to get done ;-)
hehe, maybe this could be a start...
It generates 100k+ lines of C code and about 5300 lines of python, along with a shared lib - but I have no clue what to do with it!
###################################
#!/bin/bash
OUT_DIR=$HOME/geanypy GEANY_INC=/usr/local/include/geany
swig -version > /dev/null || exit gawk --version > /dev/null || exit gcc --version > /dev/null || exit python-config --libs > /dev/null || exit pkg-config --print-errors geany || exit
mkdir -p $OUT_DIR || exit cd $OUT_DIR || exit
for H in $(find $GEANY_INC -type f -name '*.h') do M="$(basename $H .h)" C="./$M.c" I="./$M.i" echo "%module $M %{ #include "Scintilla.h" #include "geany.h" #include "$H" %} " > $I gawk '{ gsub(/<G_GNUC_NULL_TERMINATED.*;/,";"); gsub(/<G_GNUC_PRINTF.*;/,";"); print }' $H >> $I echo "Generating module "$M"" swig -python $(pkg-config --cflags geany) -o $C $I echo "Compiling "$M"" gcc -c $(pkg-config --cflags geany) \ $(python-config --includes) $C done echo echo "Lines per module:" wc -l *.py echo echo "Creating shared lib:" gcc -shared *.o -o libgeanypy.so ls -lh $PWD/libgeanypy.so echo echo "done."
###################################
- Jeff