File: reformat_project.py

package info (click to toggle)
gnat-gps 18-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 45,716 kB
  • sloc: ada: 362,679; python: 31,031; xml: 9,597; makefile: 1,030; ansic: 917; sh: 264; java: 17
file content (31 lines) | stat: -rw-r--r-- 1,006 bytes parent folder | download
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
29
30
31
# This example demonstrates how to reformat all sources of a project
# You can do that with the following command line:
#
#    $ gps -P<your_project> --load=python:reformat_project.py
#
# where <your_project> is your project file.

import GPS

# You can update the following preference values to suit your needs:
GPS.Preference("Ada-Ident-Casing").set("Automatic")
GPS.Preference("Ada-Casing-Policy").set("On_The_Fly")
GPS.Preference("Ada-Align-On-Colons").set(True)
GPS.Preference("Ada-Align-On-Arrows").set(True)
GPS.Preference("Ada-Format-Operators").set(True)
GPS.Preference("Ada-Align-Decl-On_Colon").set(True)
GPS.Preference("Ada-Stick-Comments").set(False)
GPS.Preference("Ada-Reserved-Casing").set("Lower")

# Beginning of the processing
for buf in GPS.EditorBuffer.list():
    buf.close()

for f in GPS.Project.root().sources(recursive=True):
    buf = GPS.EditorBuffer.get(f)
    buf.select()
    GPS.execute_action("Format Selection")
    buf.save(interactive=False)
    buf.close()

GPS.exit()