/usr/share/gps/library/autoformat.py is in gnat-gps-common 5.0-16.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | """This plug-in will automatically reformat a source file each time it is
saved on disk. See also autognatpp.py for another version using the external
gnatpp pretty-printer instead.
"""
import GPS
# Actions to be performed each time a file is saved
def on_file_saved (hook, file):
buf = GPS.EditorBuffer.get ()
# Save the cursor location
view = buf.current_view()
cursor = view.cursor().create_mark()
# Select the whole buffer
buf.select (buf.beginning_of_buffer(), buf.end_of_buffer())
# Reformat the buffer
GPS.execute_action ("Format Selection")
# Restore the cursor location
view.goto (cursor.location())
view.center (view.cursor())
# Register the callback on the "before_file_saved" hook
GPS.Hook ("before_file_saved").add (on_file_saved)
|