Giter Site home page Giter Site logo

adacore / gnatstudio Goto Github PK

View Code? Open in Web Editor NEW
389.0 50.0 53.0 136.11 MB

GNAT Studio is a powerful and lightweight IDE for Ada and SPARK.

Makefile 0.05% Ada 91.40% Python 7.89% C 0.15% Shell 0.07% Batchfile 0.10% CSS 0.06% JavaScript 0.11% XSLT 0.01% Java 0.01% C++ 0.07% M4 0.08% Hack 0.01% HTML 0.01% Assembly 0.01%

gnatstudio's Introduction

GNAT Studio

What is GNAT Studio?

GNAT Studio is a lightweight, extensible IDE, intended to develop high-integrity software in Ada and SPARK, with support for C and C++ as well.

GPS - Screenshot

Building

Requirements

GNAT Studio requires:

  • A recent version of Gtk+ (currently using version 3.24)
  • An install of Python which includes PyGObject and Pycairo
  • An install of GtkAda
  • An install of GNATcoll, configured with support for projects and Python scripting (--enable-project, --with-python=...)

See the INSTALL file for details.

gnatstudio's People

Contributors

adrienboulanger avatar albertklee avatar anthonyleonardogracio avatar arnaudcharlet avatar briot avatar brobecke avatar clementfumex avatar cyrillecomar avatar godunko avatar jugst3r avatar kanigsson avatar kirtchev-adacore avatar lambourg avatar leocreuse avatar miranda-adacore avatar nikokrock avatar ogorodnik avatar pat-rogers avatar pmderodat avatar quentinochem avatar ramonfernandez avatar raph-amiard avatar reznikmm avatar richardkenner avatar setton avatar t-14 avatar turbogit avatar vcelier avatar yakobowski avatar yannickmoy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gnatstudio's Issues

GPS confusing GTKAda.

Hello,
With some GTKAda programs, setting environment variables such as XDG_DATA_DIRS may puzzle execution from GPS, for instance issuing errors as:
"Couldn't recognize the image file format for file"
GPS sets many of them in execution script, so execution of GTKAda program from GPS may produce these kind of errors.
The workaround is to execute the program from Terminal, same for debugging with GDB.
But before executing GPS executable, the gps script saves GTK env var in GPS_STARTUP env var.
So came up the idea to restore the original values before doing Gtk.Main.Init as:

<...>
with Ada.Environment_Variables;
with Ada.Strings.Fixed;

procedure Restore_GPS_Startup_Values is
procedure Internal_RGSV (Saved_Var_Name, Saved_Var_Value : String) is
GPS_STARTUP : constant String := "GPS_STARTUP_";
Ind : constant Natural :=
Ada.Strings.Fixed.Index (Saved_Var_Name, GPS_STARTUP);
Oringinal_Var_Name : constant String :=
Saved_Var_Name (Ind + GPS_STARTUP'Length .. Saved_Var_Name'Last);
begin
if Ind > 0
and then Ada.Environment_Variables.Exists (Oringinal_Var_Name)
then
if Saved_Var_Value /= "" then
Ada.Environment_Variables.Set
(Oringinal_Var_Name,
Saved_Var_Value);
else
Ada.Environment_Variables.Clear (Oringinal_Var_Name);
end if;
end if;
end Internal_RGSV;
begin
Ada.Environment_Variables.Iterate (Internal_RGSV'Access);
end Restore_GPS_Startup_Values;

procedure Testgtk is
Win : Main_Windows.Main_Window;
begin
Restore_GPS_Startup_Values;
Gtk.Main.Init;
<...>

Now I can launch and debug my GTKAda programs from GPS.
See in attached test26.adb source code, an example with XDG_DATA_DIRS with GPS, output is:
/usr/local/gnat/share
/usr/local/xnadalib-2018/share
where as execution from Terminal, output is:
/usr/local/xnadalib-2018/share
/usr/local/xnadalib-2018/share

Shouldn't GPS do that directly before executing program?

Thanks Pascal.
test26.adb.txt

Project'Target is empty with GPS.

Configuration: GNAT Community 2018 on macOS.

Given the following project file:

project Test27 is
  OS := Project'Target;
  for Object_Dir  use "objos" & "/" & OS;
  package Compiler is
     case OS is
       when "*linux*" | "unix" =>
         for Switches ("Ada") use ("-gnath");
       when "*windows*" =>
         for Switches ("Ada") use ("-gnatP");
       when "*darwin*" =>
         for Switches ("Ada") use ("-gnatA");
       when others =>
         null;
     end case;
   end Compiler;
end Test27;

See test27.gpr.txt

When I open it with GPS, the Project'Target seems to be empty as logged by GPS the object directory is not set with the target name:
[2019-03-09 22:36:43] /Tests/test27.gpr:3:25: warning: object directory "objos/" not found

But with it seems to be correct with GPRBUILD as the object directory is set with target name:
$ gprbuild -P /Tests/test27.gpr
test27.gpr:3:25: object directory "objos/x86_64-darwin" not found
gprbuild: "/Tests/test27.gpr" processing failed

HTH, Pascal.

Cannot prove with Coq

I'm using GNAT Community Edition 2018 on Arch Linux 4.17.4 x86_64, installed in a local folder $GNAT_HOME. When trying to run "SPARK/Prove File" and specifying the command as gnatprove -P/path/to/project.gpr -j0 --ide-progress-bar -u file.adb --prover=Coq, it fails with the error

Phase 1 of 2: generation of Global contracts ...
Phase 2 of 2: flow analysis and proof ...
gnatprove: Could not find driver file alt_ergo
gnatprove: error during flow analysis and proof
[2018-07-14 14:20:26] process exited with status 1, elapsed time: 02.00s

which also happens when running the same command in the terminal. The alt_ergo driver is in $GNAT_HOME/libexec/spark/bin, as put there by the installer.

I have installed Coq v8.5pl3 using OPAM on OCaml 4.05.0 and it is available in $PATH. Please advise.

Vim plugin - w motion bounded by numbers

If you have the cursor in a word before a number, cw should consider the number part of the word, but the plugin implementation considers that a word boundary. For instance, dw with the cursor at the beginning of thisIdentifierHas2NumbersIn8It should delete the whole word. In the plugin as it is currently implemented, this takes five dw commands.

Vim plugin - yy doesn't work

Typing yy should copy the whole line. yyp should duplicate it below the current line. It's unclear what the current implementation does. yy copies something, and yyp pastes something, but they don't operate on lines.

Can not match "false" by GNAT.Regexp if not expelict wrote in pattern

Sorry first, don't kown where to report this in a convience way. and random choose to report here.

with GNAT.Regexp; use GNAT.Regexp;
with Ada.Text_IO; use Ada.Text_IO;


procedure test_reg is
   symbolString : constant Regexp := Compile ("[^\s\[\]{}('""`,;)]*");
   falseString : constant Regexp := Compile ("false");
   trueString : constant Regexp := Compile ("true");
begin -- test_reg
   Put_Line("Can we match false?" & boolean'Image(Match("false",symbolString)));
   Put_Line("Can we match false by false?" & boolean'Image(Match("false",falseString)));
   Put_Line("Can we match true?" & boolean'Image(Match("true",symbolString)));
   Put_Line("Can we match true by true?" & boolean'Image(Match("true",trueString)));
   Put_Line("Can we match null?" & boolean'Image(Match("null",symbolString)));
end test_reg;

the output is in an unexpect result

Can we match false?FALSE (I think is should be TRUE here)
Can we match false by false?TRUE
Can we match true?TRUE
Can we match true by true?TRUE
Can we match null?TRUE

It is a feature or it is a bug ? I can walk around it by use

symbolString : constant Regexp := Compile ("([^\s\[\]{}('""`,;)]*)|false");

Better display when a file buffer was modified in the editor tab

This is an enhancement suggestion.

When a file is modified in the editor, it is difficult to see that the file was modified because
there is no real and clear visible change on the editor to show that. The small icon before
the file name is changed but this is so subtle that you don't see it.

I suggest to make the unsaved status more visible so that we better see what tabs have unsaved changes.

Intellij Idea uses a different color for the file name when the buffer has unsaved changes.

LD_LIBRARY_PATH in child processes (gprbuild & run program)

Hello,

I'm trying to use GPS (launched with ~/opt/GNAT/2018/bin/gps without modifying $PATH) that is installed as part of GNAT community 2018 with system GNAT-6.4.0. This does not work as GPS is running both the program being developed and gprbuild in an environment populated with pointers to the community 2018 install. Replacing system gprbuild with unset LD_LIBRARY_PATH; gprbuild.real "$@" makes the program build, but it still fails to run when linking with system libraries, e.g. GNATCOLL:

symbol lookup error: /usr/lib/gnatcoll/gnatcoll.relocatable/libgnatcoll.so.2017: undefined symbol: gpr__sinput__source_file__last_val

@pmderodat suggested me to run gps as follows: LD_LIBRARY_PATH=doesnotexist ~/opt/GNAT/2018/bin/gps which makes GPS forward LD_LIBRARY_PATH as-is and the program successfully builds and runs. By default LD_LIBRARY_PATH is unset in all shells.

GPS issue with outline internal package.

Hello,
Public object K and private object J of internal package P1 in test03.adb are not displayed in outline view, see attached test03.adb and test03.png.
Whereas public object K and private object J of package P1 in test04.ads are displayed in outline view, see attached test04.ads and test04.png.
Shouldn't objects of P1 in test03.adb be also displayed?
HTH, Pascal.
test03.adb.txt
test04.ads.txt
test03
test04

GPS 2017 (20120515) freezes on splash screen on macOS

Hi, I hope this is the place for GPS bug reports as I'm using the community edition of GNAT and don't have a GT account.

Anyway, here's it comes:

Description
GPS 2017 (20170515) freezes (spinning pinwheel) for me on the loading/splash screen on macOS.

I've tried removing ~/.gps but that didn't help.
I'm not sure but I might have had an older installation that I installed over.

Workaround
Commenting out all <toolchain> blocks, only keeping <toolchain_default> in the file /usr/local/gnat/share/gps/plug-ins/toolchains.xml allows me to start and use GPS.

Version Number
GPS 2017 (20170515)

Operation System
macOS v10.12.6

Hardware

Model Name:		MacBook Pro
Model Identifier:	MacBookPro12,1
Processor Name:		Intel Core i7
Processor Speed:	3,1 GHz
Number of Processors:	1
Total Number of Cores:	2
L2 Cache (per Core):	256 KB
L3 Cache:		4 MB
Memory:			16 GB
Boot ROM Version:	MBP121.0171.B00
SMC Version (system):	2.28f7

GPS log file

[GPS] GPS 2017 (20170515) hosted on x86_64-apple-darwin14.5.0 (21:04:44.485)
[GPS] Gtk+ static version: 3.14.15 (21:04:44.485)
[GPS] Gtk+ dynamic version: 3.14.15 (21:04:44.485)
[PRJ_NORMALIZE] Normalize: imported=empty (21:04:44.487)
[PRJ_NORMALIZE] Done normalizing empty (21:04:44.487)
[DEFAULT_PREFS] Theme search path is /Users/hyarion/.themes:/usr/local/gnat/share/themes (21:04:44.564)
[DEFAULT_PREFS] System's default theme is <unknown> (21:04:44.564)
[DEFAULT_PREFS] Theme search path not found on disk: /Users/hyarion/.themes (21:04:44.564)
[GPS_KERNEL] Loading histories.xml (21:04:44.910)
[PROPERTIES] Open /Users/hyarion/.gps/properties.db (21:04:44.910)
[MAIN] Setting gtk+ theme to 'Adwaita', directory='Adwaita' (21:04:45.054)
[MAIN] No /Users/hyarion/.gps/gps-Adwaita.css found (21:04:45.123)
[MAIN] Loaded /usr/local/gnat/share/gps/gps-Adwaita.css (21:04:45.123)
[STOCK] Icon size Action => 7x 7 (21:04:45.126)
[STOCK] Icon size Local Toolbar => 12x 12 (21:04:45.126)
[STOCK] Icon size Menu => 16x 16 (21:04:45.126)
[STOCK] Icon size Small_Toolbar => 16x 16 (21:04:45.126)
[STOCK] Icon size Large_Toolbar => 24x 24 (21:04:45.126)
[STOCK] Icon size Button => 16x 16 (21:04:45.126)
[GPS] Loading /usr/local/gnat/share/gps/gps.css (21:04:45.126)
[VIEWS] Create toolbar, from id=Messages (21:04:45.130)
[XREF] Closing previous version of the database (21:04:45.214)
[XREF] Closing xref database, temporary=FALSE (21:04:45.214)
[XREF] Set up xref database: :memory: (21:04:45.214)
[SQL.INSPECT] Loading data from data into database (21:04:45.216)
[SQL.SQLITE] PREPARE insertval (21:04:45.217)
[SQL.SQLITE] PREPARE insertval (21:04:45.219)
[SQL.SQLITE] PREPARE insertval (21:04:45.219)
[SQL.SQLITE] PREPARE insertval (21:04:45.219)
[SQL.SQLITE] PREPARE insertval (21:04:45.219)
[SQL.SQLITE] PREPARE insertval (21:04:45.219)
[ENTITIES.TIMING] Created database: 0.005886000 s (21:04:45.220)
[GPS.KERNEL.HELP] Parsing index /usr/local/gnat/share/doc/gps/html/gps_index.xml (21:04:45.220)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gnat/html to GPS_DOC_PATH (21:04:45.221)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gnat/html/gnat_ugn to GPS_DOC_PATH (21:04:45.221)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gnat/html/gnat_rm to GPS_DOC_PATH (21:04:45.221)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gprbuild/html to GPS_DOC_PATH (21:04:45.221)
[GPS.KERNEL.HELP] Parsing index /usr/local/gnat/share/doc/gprbuild/html/gps_index.xml (21:04:45.221)
[GPS.KERNEL.HELP] Adding gprbuild_ug.html /Help/Gprbuild/Gprbuild User's Guide (21:04:45.221)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gnat-cross/html to GPS_DOC_PATH (21:04:45.222)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gnat-cross/html/gnat_ugx to GPS_DOC_PATH (21:04:45.222)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gnat-cross/html/gnathie_ug to GPS_DOC_PATH (21:04:45.222)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gps to GPS_DOC_PATH (21:04:45.222)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc to GPS_DOC_PATH (21:04:45.222)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/doc/gnat/html to GPS_DOC_PATH (21:04:45.222)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/doc/gnat-cross/html to GPS_DOC_PATH (21:04:45.222)
[GPS.KERNEL.HELP] Adding gps-welcome.html /Help/GPS/Welcome (21:04:45.222)
[GPS.KERNEL.HELP] Adding html/tutorial/index.html /Help/GPS/Tutorial (21:04:45.222)
[GPS.KERNEL.HELP] Adding html/users_guide/index.html /Help/GPS/GPS User's Guide (21:04:45.222)
[GPS.KERNEL.HELP] Adding html/users_guide/GPS.html /Help/GPS/Python extensions (21:04:45.222)
[GPS.KERNEL.HELP] Adding html/release_notes/index.html /Help/GPS/Release Notes (21:04:45.223)
[GPS.KERNEL.HELP] Adding xmlada/index.html /Help/XMLAda/User's Guide (21:04:45.223)
[GPS.KERNEL.HELP] Adding gnat_ugn.html /Help/GNAT/Native GNAT User's Guide (21:04:45.223)
[GPS.KERNEL.HELP] Not adding gnat_ugx.html since file not found (21:04:45.223)
[GPS.KERNEL.HELP] Adding gprbuild_ug.html /Help/GNAT/Gprbuild and GNAT Project Files (21:04:45.223)
[GPS.KERNEL.HELP] Not adding gnathie_ug.html since file not found (21:04:45.223)
[GPS.KERNEL.HELP] Adding gnat_rm.html /Help/GNAT/GNAT Reference Manual (21:04:45.223)
[GPS.KERNEL.HELP] Adding arm95.html /Help/GNAT/Ada 95 Reference Manual (21:04:45.224)
[GPS.KERNEL.HELP] Adding arm05.html /Help/GNAT/Ada 2005 Reference Manual (21:04:45.224)
[GPS.KERNEL.HELP] Adding arm12.html /Help/GNAT/Ada 2012 Reference Manual (21:04:45.224)
[GPS.KERNEL.HELP] Adding gdb.html /Help/GNU Tools/Using the GNU Debugger (21:04:45.224)
[GPS.KERNEL.HELP] Adding gcc.html /Help/GNU Tools/Using GCC (21:04:45.224)
[GPS.KERNEL.HELP] Not adding binutils.html since file not found (21:04:45.224)
[GPS.KERNEL.HELP] Not adding ld.html since file not found (21:04:45.225)
[GPS.KERNEL.HELP] Not adding as.html since file not found (21:04:45.225)
[GPS.KERNEL.HELP] Not adding gnatcheck_rm.html since file not found (21:04:45.225)
[ALIASES] No such file: /Users/hyarion/.gps/aliases (21:04:45.225)
[LIBCLANG] In parsing task clang_module_id.parsing_tasks(3)_000000010CB01E00 (21:04:45.267)
[LIBCLANG] In parsing task clang_module_id.parsing_tasks(2)_000000010CAFE600 (21:04:45.267)
[LIBCLANG] In parsing task clang_module_id.parsing_tasks(4)_000000010CB05600 (21:04:45.267)
[LIBCLANG] In parsing task clang_module_id.parsing_tasks(1)_000000010CAFAE00 (21:04:45.267)
[LIBCLANG] In parsing task clang_module_id.parsing_tasks(5)_000000010CB08E00 (21:04:45.267)
[LIBCLANG] In parsing task clang_module_id.parsing_tasks(6)_000000010CB0C600 (21:04:45.267)
[KERNEL.CUSTOM] File not found: /Users/hyarion/.gps/startup.xml (21:04:45.269)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/ada-support.xml (21:04:45.270)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/ada2wsdl.xml (21:04:45.271)
[CUSTOM_MODULE] Creating submenu with title=Edit (21:04:45.272)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/aunit.xml (21:04:45.272)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/aunit to GPS_DOC_PATH (21:04:45.273)
[CUSTOM_MODULE] Creating submenu with title=/Help/AUnit (21:04:45.273)
[GPS.KERNEL.HELP] Not adding aunit.html since file not found (21:04:45.273)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/aws.xml (21:04:45.273)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/aws to GPS_DOC_PATH (21:04:45.273)
[CUSTOM_MODULE] Creating submenu with title=/Help/AWS (21:04:45.273)
[GPS.KERNEL.HELP] Not adding aws/index.html since file not found (21:04:45.273)
[GPS.KERNEL.HELP] Not adding aws/templates_parser/index.html since file not found (21:04:45.273)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/aws_api.xml (21:04:45.273)
[CUSTOM_MODULE] Creating submenu with title=/Help/AWS (21:04:45.276)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/build_modes.xml (21:04:45.315)
[SQL.SQLITE] PREPARE get_resource_id (21:04:45.315)
[SQL.SQLITE] PREPARE get_property_id (21:04:45.316)
[BUILDER_FACILITY_MODULE] Loaded information about the current build mode (21:04:45.316)
[GPS_KERNEL] Change build mode to: default (21:04:45.316)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/build_targets.xml (21:04:45.316)
[CONSOLE] Build facility: tag not recognized as child of "target-model" node:icon (21:04:45.317)
[CONSOLE] Build facility: tag not recognized as child of "target-model" node:icon (21:04:45.319)
[CONSOLE] Build facility: tag not recognized as child of "target-model" node:icon (21:04:45.319)
[CONSOLE] Build facility: tag not recognized as child of "target-model" node:icon (21:04:45.320)
[CONSOLE] Build facility: tag not recognized as child of "target-model" node:icon (21:04:45.320)
[CONSOLE] Build facility: tag not recognized as child of "target-model" node:icon (21:04:45.321)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Check Syntax' (21:04:45.321)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Check Semantic' (21:04:45.323)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Compile File' (21:04:45.324)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Build Main' (21:04:45.324)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Build All' (21:04:45.324)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Compile All Sources' (21:04:45.325)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Build <current file>' (21:04:45.326)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Clean All' (21:04:45.326)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Clean Root' (21:04:45.327)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Clean Project' (21:04:45.327)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Run Main' (21:04:45.327)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Custom...' (21:04:45.327)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Custom Build...' (21:04:45.328)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/c_support.xml (21:04:45.328)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/changelog.xml (21:04:45.330)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/clearcase.xml (21:04:45.331)
[GENERIC_VCS] Generic VCS information found for ClearCase Native (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action NONE (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action STATUS_DIR (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action STATUS_DIR_RECURSIVE (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action LOCAL_STATUS_DIR (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action CREATE_TAG (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action CREATE_BRANCH (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action SWITCH (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action MERGE (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action REVISION (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action RESOLVED (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action HISTORY_TEXT (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action DIFF_WORKING (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action DIFF_BASE_HEAD (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action DIFF2 (21:04:45.332)
[GENERIC_VCS] Warning: no command provided for action DIFF_TAG (21:04:45.332)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/csharp.xml (21:04:45.332)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/cvs.xml (21:04:45.333)
[GENERIC_VCS] Generic VCS information found for CVS (21:04:45.335)
[GENERIC_VCS] Warning: no command provided for action NONE (21:04:45.335)
[GENERIC_VCS] Warning: no command provided for action STATUS_DIR_RECURSIVE (21:04:45.335)
[GENERIC_VCS] Warning: no command provided for action LOCAL_STATUS_DIR (21:04:45.335)
[GENERIC_VCS] Warning: no command provided for action RESOLVED (21:04:45.335)
[GENERIC_VCS] Warning: no command provided for action DIFF_WORKING (21:04:45.335)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/git.xml (21:04:45.335)
[GENERIC_VCS] Generic VCS information found for Git (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action NONE (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action STATUS_DIR (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action STATUS_DIR_RECURSIVE (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action LOCAL_STATUS_DIR (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action CREATE_TAG (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action CREATE_BRANCH (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action SWITCH (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action MERGE (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action OPEN (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action UPDATE (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action RESOLVED (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action DIFF_PATCH (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action DIFF_WORKING (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action DIFF_BASE_HEAD (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action DIFF (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action DIFF2 (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action DIFF_TAG (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action ADD (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action REMOVE (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action REMOVE_NO_COMMIT (21:04:45.337)
[GENERIC_VCS] Warning: no command provided for action REVERT (21:04:45.337)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/gnat-examples.xml (21:04:45.337)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.338)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.339)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.339)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.339)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.339)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.339)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.340)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.340)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.340)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.340)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.340)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.341)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.341)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.341)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.341)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.342)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.342)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.342)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.342)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.342)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT/Examples (21:04:45.343)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/gnatpp.xml (21:04:45.343)
[CUSTOM_MODULE] Creating submenu with title=Edit (21:04:45.344)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/gnatstub.xml (21:04:45.345)
[CUSTOM_MODULE] Creating submenu with title=Edit (21:04:45.346)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/gpr.xml (21:04:45.346)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/icons.xml (21:04:45.347)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/languages.xml (21:04:45.349)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/projects.xml (21:04:45.350)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/protocols.xml (21:04:45.353)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.354)
[REMOTE] Ignoring Access tool rsh as it cannot be found (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.354)
[REMOTE] Ignoring Access tool plink ssh as it cannot be found (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.354)
[REMOTE] Ignoring Access tool plink rsh as it cannot be found (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.354)
[REMOTE] Ignoring Access tool plink telnet as it cannot be found (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.354)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.354)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/runtime.xml (21:04:45.354)
[CUSTOM_MODULE] Creating submenu with title=/Help/GNAT Runtime (21:04:45.360)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/subversion.xml (21:04:45.446)
[GENERIC_VCS] Generic VCS information found for Subversion (21:04:45.449)
[GENERIC_VCS] Warning: no command provided for action NONE (21:04:45.449)
[GENERIC_VCS] Warning: no command provided for action LOCAL_STATUS_DIR (21:04:45.449)
[GENERIC_VCS] Warning: no command provided for action OPEN (21:04:45.449)
[GENERIC_VCS] Warning: no command provided for action DIFF_WORKING (21:04:45.449)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/toolchains.xml (21:04:45.450)
[KERNEL.CUSTOM] Loading /usr/local/gnat/share/gps/plug-ins/wsdl2aws.xml (21:04:45.450)
[CUSTOM_MODULE] Creating submenu with title=Edit (21:04:45.451)
[KM] Loading /usr/local/gnat/share/gps/key_themes/default_legacy.xml (21:04:45.453)
[KM] Loading /usr/local/gnat/share/gps/key_themes/include/common.xml (21:04:45.453)
[PYTHON] Load python files from /usr/local/gnat/share/gps/support/core (21:04:45.458)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/__init__.py (21:04:45.459)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/aliases.py (21:04:45.459)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/align.py (21:04:45.481)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/auto_load.py (21:04:45.482)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/block_completion.py (21:04:45.482)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/build.py (21:04:45.483)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/calc.py (21:04:45.487)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/changelog.py (21:04:45.488)
[PYTHON] Load clang/ (21:04:45.489)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/codepeer.py (21:04:45.489)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/color_utils.py (21:04:45.489)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/compiler_paths.py (21:04:45.489)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/completion.py (21:04:45.493)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/console_utils.py (21:04:45.494)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/constructs.py (21:04:45.494)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/cross_references.py (21:04:45.494)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/editors.py (21:04:45.495)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/expanded_code.py (21:04:45.495)
[PYTHON] Load extensions/ (21:04:45.496)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gcov.py (21:04:45.497)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnat_examples.py (21:04:45.497)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnat_help_menus.py (21:04:45.498)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnat_switches.py (21:04:45.498)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnatcheck.py (21:04:45.498)
[PYTHON] Load gnatcoll/ (21:04:45.515)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnatdist.py (21:04:45.517)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnatdoc.py (21:04:45.517)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnathub.py (21:04:45.518)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnatname.py (21:04:45.518)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnatpsta.py (21:04:45.518)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnatstack.py (21:04:45.523)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnatstub.py (21:04:45.523)
[CONSOLE] "generate body": Action overrides a builtin action
_CONSOLE_ 
_CONSOLE_ Future references to this action will execute the last definition encountered (21:04:45.523)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gnattest.py (21:04:45.525)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/gpr.py (21:04:45.527)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/GPS_help.py (21:04:45.527)
[PYTHON] Load GPS_old/ (21:04:45.528)
[PYTHON] Load gps_utils/ (21:04:45.528)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/lal.py (21:04:45.528)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/languages.py (21:04:45.547)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/libadalang.py (21:04:45.548)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/listvars.py (21:04:45.548)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/makefile.py (21:04:45.548)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/maximize.py (21:04:45.550)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/methods.py (21:04:45.550)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/modules.py (21:04:45.550)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/navigation_utils.py (21:04:45.550)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/os_utils.py (21:04:45.550)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/pipe.py (21:04:45.550)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/projects.py (21:04:45.551)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/protocols.py (21:04:45.553)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/rectangles.py (21:04:45.553)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/search.py (21:04:45.554)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/shell.py (21:04:45.554)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/sort_selection.py (21:04:45.554)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/tab.py (21:04:45.555)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/target_connector.py (21:04:45.555)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/text_utils.py (21:04:45.556)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/time_utils.py (21:04:45.556)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/tip_of_the_day.py (21:04:45.556)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/tool_output.py (21:04:45.556)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/toolchains.py (21:04:45.556)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/url.py (21:04:45.557)
[PYTHON] Load vcs/ (21:04:45.557)
[PYTHON] Load /usr/local/gnat/share/gps/support/core/zoom.py (21:04:45.566)
[PYTHON] Load python files from /usr/local/gnat/share/gps/support/ui (21:04:45.567)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/board_support.py (21:04:45.567)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/colorschemes.py (21:04:45.571)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/console.py (21:04:45.576)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/gnatcov.py (21:04:45.577)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/gnatemulator.py (21:04:45.580)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/gnatmetric.py (21:04:45.581)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/gnatpp.py (21:04:45.583)
[PYTHON] Load GPS_doc/ (21:04:45.584)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/gpsbrowsers.py (21:04:45.590)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/locations_view_utils.py (21:04:45.591)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/multi_cursors.py (21:04:45.591)
[PYTHON] Load pygps/ (21:04:45.593)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/reloadcss.py (21:04:45.593)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/task_manager.py (21:04:45.593)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/textmate.py (21:04:45.593)
[PYTHON] Load vcs2/ (21:04:45.593)
[PYTHON] Load /usr/local/gnat/share/gps/support/ui/workflow_buttons.py (21:04:45.593)
[PYTHON] Load workflows/ (21:04:45.593)
[PYTHON] Load python files from /usr/local/gnat/share/gps/support/languages (21:04:45.593)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/__init__.py (21:04:45.594)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/ada_support.py (21:04:45.594)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/c_highlighter.py (21:04:45.594)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/c_support.py (21:04:45.604)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/clang_support.py (21:04:45.606)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/csharp.py (21:04:45.608)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/css_highlighter.py (21:04:45.609)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/css_support.py (21:04:45.626)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/fortran_highlighter.py (21:04:45.626)
[PYTHON] Load highlighter/ (21:04:45.629)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/jedi_support.py (21:04:45.629)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/matlab_support.py (21:04:45.699)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/python_highlighter.py (21:04:45.701)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/python_support.py (21:04:45.707)
[PYTHON] Load /usr/local/gnat/share/gps/support/languages/xml_support.py (21:04:45.709)
[PYTHON] Load python files from /usr/local/gnat/share/gps/plug-ins (21:04:45.710)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/ada_support.py (21:04:45.711)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/align.py (21:04:45.711)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/auto_highlight_occurrences.py (21:04:45.711)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/aws.py (21:04:45.712)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/block_completion.py (21:04:45.712)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/clearcase.py (21:04:45.712)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/codepeer.py (21:04:45.712)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/cvs.py (21:04:45.712)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/dispatching.py (21:04:45.712)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/docgen_base_tags.py (21:04:45.713)
[PYTHON.ERROR] Exception AttributeError("'module' object has no attribute 'DocgenTagHandler'",) (21:04:45.713)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/editors.py (21:04:45.714)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/expanded_code.py (21:04:45.714)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gcov.py (21:04:45.714)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/git_support.py (21:04:45.714)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gnat_switches.py (21:04:45.714)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gnatcheck.py (21:04:45.715)
[PYTHON] Load gnatcoll/ (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gnatcov.py (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gnatdist_support.py (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gnatmetric.py (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gnatpsta.py (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/gnatstack.py (21:04:45.715)
[PYTHON] Load gps_utils/ (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/listvars.py (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/locations_view_utils.py (21:04:45.715)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/Makefile.py (21:04:45.715)
[PYTHON] Load memory_usage_providers/ (21:04:45.717)
[MEMORY_USAGE_VIEWS.PROVIDERS] LD memory usage provider registered (21:04:45.717)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/methods.py (21:04:45.718)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/navigation_utils.py (21:04:45.718)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/os_utils.py (21:04:45.718)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/pep8_integration.py (21:04:45.718)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/pipe.py (21:04:45.723)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/python_doc.py (21:04:45.724)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/python_support.py (21:04:45.724)
[PYTHON] Load qgen/ (21:04:45.724)
[MODELING] qgenc not found (21:04:45.725)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/rectangles.py (21:04:45.725)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/reset_gps_registry.py (21:04:45.726)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/shell.py (21:04:45.726)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/sort_selection.py (21:04:45.726)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/spark2014.py (21:04:45.726)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/spark_support.py (21:04:45.733)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/subversion.py (21:04:45.733)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/text_utils.py (21:04:45.733)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/tip_of_the_day.py (21:04:45.733)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/url.py (21:04:45.733)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/vcs.py (21:04:45.733)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/xml_support.py (21:04:45.733)
[PYTHON] Load /usr/local/gnat/share/gps/plug-ins/zoom.py (21:04:45.733)
[PYTHON] Load python files from /usr/local/gnat/share/gps/library (21:04:45.733)
[KERNEL.CUSTOM] Executing customization strings previously registered (21:04:45.734)
[CONSOLE] Build facility: Mode with this name already exists: default (21:04:45.734)
[BUILDER_FACILITY_MODULE] Loaded information about the current build mode (21:04:45.734)
[GPS_KERNEL] Change build mode to: default (21:04:45.734)
[CONSOLE] Build facility: Mode with this name already exists: debug (21:04:45.734)
[CONSOLE] Build facility: Mode with this name already exists: checks (21:04:45.735)
[CONSOLE] Build facility: Mode with this name already exists: optimize (21:04:45.735)
[CONSOLE] Build facility: Mode with this name already exists: gcov (21:04:45.735)
[CONSOLE] Build facility: Mode with this name already exists: gprof (21:04:45.735)
[CONSOLE] Build facility: Error: a model is already registered with the name 'builder' (21:04:45.736)
[CONSOLE] Build facility: Error: a model is already registered with the name 'gprbuild' (21:04:45.737)
[CONSOLE] Build facility: Error: a model is already registered with the name 'gnatmake' (21:04:45.737)
[CONSOLE] Build facility: Error: a model is already registered with the name 'gprclean' (21:04:45.738)
[CONSOLE] Build facility: Error: a model is already registered with the name 'execute' (21:04:45.738)
[CONSOLE] Build facility: Error: a model is already registered with the name 'custom' (21:04:45.738)
[BUILD_CONFIGURATIONS] Note: target already registered: Check Syntax (21:04:45.738)
[BUILD_CONFIGURATIONS] Note: target already registered: Check Semantic (21:04:45.738)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Update file XRef' (21:04:45.738)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Update file XRef in background' (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Compile File (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Build Main (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Build All (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Compile All Sources (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Build <current file> (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Clean All (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Clean Root (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Clean Project (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Run Main (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Custom... (21:04:45.739)
[BUILD_CONFIGURATIONS] Note: target already registered: Custom Build... (21:04:45.739)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Load Xref Info' (21:04:45.739)
[GPS.KERNEL.HELP] Adding /usr/local/gnat/share/doc/gnatcoll to GPS_DOC_PATH (21:04:45.759)
[GPS.KERNEL.HELP] Adding html/index.html /Help/Gnat Components/Gnat Components User's Guide (21:04:45.759)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'gnatname' (21:04:45.760)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'GNATtest for project' (21:04:45.761)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'GNATtest for file' (21:04:45.761)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'GNATtest for root project' (21:04:45.761)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Run a test-driver' (21:04:45.761)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Run a test drivers list' (21:04:45.761)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Make' (21:04:45.762)
[BUILDER_FACILITY_MODULE] Build facility: Creating target 'Ant' (21:04:45.762)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.764)
[CONSOLE] XML Error: remote_connection_config has a duplicate configuration for ssh (21:04:45.764)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.764)
[CONSOLE] XML Error: remote_connection_config has a duplicate configuration for telnet (21:04:45.764)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.764)
[REMOTE] Ignoring Access tool plink ssh as it cannot be found (21:04:45.764)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.764)
[REMOTE] Ignoring Access tool plink rsh as it cannot be found (21:04:45.764)
[REMOTE] Read_From_XML: 'remote_connection_config' (21:04:45.764)
[REMOTE] Ignoring Access tool plink telnet as it cannot be found (21:04:45.764)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.764)
[CONSOLE] XML Error: remote_shell_config sh is defined twice (21:04:45.764)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.765)
[CONSOLE] XML Error: remote_shell_config bash is defined twice (21:04:45.765)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.765)
[CONSOLE] XML Error: remote_shell_config csh is defined twice (21:04:45.765)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.765)
[CONSOLE] XML Error: remote_shell_config tcsh is defined twice (21:04:45.765)
[REMOTE] Read_From_XML: 'remote_shell_config' (21:04:45.765)
[CONSOLE] XML Error: remote_shell_config cmd.exe is defined twice (21:04:45.765)
[REMOTE] Read_From_XML: 'remote_sync_config' (21:04:45.765)
[GPS.EXCEPTIONS] Unexpected exception: raised CONSTRAINT_ERROR : Toolchains.Known.Toolchain_Map.Insert: attempt to insert key already in map
_GPS.EXCEPTIONS_ Load address: 0x100000000
_GPS.EXCEPTIONS_ Call stack traceback locations:
_GPS.EXCEP

^--- The log file really ends like that.

GPS doesn't compile example GTKada program...

Hi
I have installed Ada and Gtkada as per instructions on Ubuntu 18.04 x64.
I have 3.22.30-1ubuntu1 gtk dev from apt-get...
GTKada compiles fine, and the test application runs ok.
I seem to have set the project paths ok - "with gtkada" seems to work.

Load up the default GTKada example in GPS.
Hit compile and GPS errors with:

/usr/lib/x86_64-linux-gnu/libpng16.so.16: undefined reference to inflateValidate@ZLIB_1.2.9' /usr/lib/x86_64-linux-gnu/libgtk-3.so: undefined reference to pango_fc_font_map_config_changed'

Running gprbuild in the terminal with the same .gpr file compiles and runs ok.

Is this the same issue as #31? Where the GPS startup script is changing environment variables....
Is there any solution aside from compiling GPS with the same version of GTK as installed systemwide?

Running with -v in both GPS and terminal produces the same output (aside from the error with GPS).

Is there anything else to try or set that might resolve this?

thanks
gb

Changing comments doesn't mark the document as changed

Hello, I found out that when I change a comment (GPS 2016 (20160515) hosted on i686-pc-linux-gnu
GNAT GPL 2016 (20160515-49)) the document isn't marked as changed. So, I can change a comment and close the document without any warnings and my changes will be lost.

The way to reproduce: open GPS, create a comment, save the document, continue typing your comment without any white spaces or line breaks, close the file, open it again.

Vim plugin - dj and dk behave incorrectly

In vim, dj and dk deletes the current line entirely, and the line either below or above, respectively.

In GPS with the vim plugin, it is treated as a command to delete forwards or backwards until the character above or below the cursor, which is something entirely different.

Feature suggestion: Use tab characters (\t) for indentation.

Most IDEs allow to switch between spaces and tabs for indentation, and the size of tabs as well.

I usually use 4-space long tabs for indentation everywhere else, and I think it has a significant impact on my programming experience.

I turned on "use tabulations" in Ada's settings, and the indentation length to 4, however when I press tab or reformat the code, I still get plain spaces.

Returning from Debugger Perspective resets the Default

Steps to reproduce

  1. Open a project in the Default Perspective.
  2. Add an "OS Shell" window
  3. Click "Build and Debug" which switches into the Debugger perspective
  4. Click "Terminate Debugger"

The IDE is then returned to a completely reset Default Perspective with the OS Shell window gone.

Expected:

According to this documentation:

When you leave a perspective, GPS automatically saves its contents (including which windows are opened and their location) so when you return to the same perspective you see the same layout.

I would expect my changes to the Default perspective to be persisted before entering a different perspective.

Environment:

GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)

Autoscroll the project files panel when you select a file in the editor

This is en enhancement suggestion.

On large projects, when you have many files opened and you switch from one file to another
in the editor main window, the left project files panel that displays the list of files does not automatically
scroll to show the new file location.

The Intellij Idea has the "Autoscroll to source" and "Autoscroll from source" options that allows
to synchronize the project files panel with the editor panel. These are two settings that can be
enabled or not depending on the user preference.

These two features are really helpful in large projects because you can quickly jump to the file.

The double click on the project files is just a real pain.

GPS issue with Python console.

Hello,
After opening a Python Console, when you quit Python with "quit()" then GPS also exits.
GPS logs are:

[GPS.KERNEL.ACTIONS] Entering GPS.Kernel.Actions.Execute_Action:gps-kernel-actions.adb:711 Execute action open python 1 times synchronous=FALSE (10:07:17.397)
[GPS.KERNEL.GPS_KERNEL] Refresh_Context Python (10:07:17.419)
[GPS.KERNEL.ACTIONS] Leaving GPS.Kernel.Actions.Execute_Action:gps-kernel-actions.adb:711 (10:07:17.420)
[GPS.KERNEL.ACTIONS] Entering GPS.Kernel.Actions.Execute_Action:gps-kernel-actions.adb:711 Execute action Copy to Clipboard 1 times synchronous=FALSE (10:09:05.687)
[GPS.KERNEL.ACTIONS] Leaving GPS.Kernel.Actions.Execute_Action:gps-kernel-actions.adb:711 (10:09:05.778)
[GPS.KERNEL.ACTIONS] Could not execute "Python Auto Indentation" (10:09:38.552)
[PYTHON.ERROR] Exception SystemExit(None,) (10:09:38.575)

How to prevent GPS exit?
Thanks, Pascal.

Duplicate project name "gnatcoll" error.

Hello,

I aim to build GPS from Github latest source codes (commit 2891973).
Unfortunately, I've got a tricky issue with new Gnatcoll-core (commit 23330f798d3f16437c9192b6ff255faa8caf8d2c):
gnatcoll.gpr:10:17: duplicate project name "gnatcoll"
gnatcoll.gpr:10:17: already in "/gnatcoll-core/build/share/gpr/gnatcoll.gpr"

See attached full log.
20171203-GPS-build-error.txt

However, former Gnatcoll source code didn't make this error.
Configuration: macOS, GNAT GPL 2017, GTKAda, GnatColl and other components from GITHub/AdaCore.

Is it coming from new Gnatcoll-core build or something else?

Thanks for your help, Pascal.

Feature suggestion: Add F# support to GPS

Dear GPS developers!

GPS has already supported C#. Please add the same support to F# in the 2017 release of GPS.
F# is a functional-imperative, object-oriented language with growing popularity. The F# compiler and tools are shipped along with the C# compiler and tools as part of Microsoft Visual Studio 2015.

Shortcuts don't work in non-English keyboard layouts

Hello, I found out that, for example, when I am trying to save a file pressing "Ctrl+S" with Russian keyboard layout, gps doesn't save. In most of other IDEs (qt-creator, eclipse, etc) shortcuts in Russian layout work good.

The way to reproduce: open GPS (20160515) in Linux, create a file and change it, change keyboard location to Russian, try to save the file by pressing "Ctrl+S".

Innovative feature suggestion: Depth coloring for Ada 2012 code

Dear GPS developers!
Please add depth coloring to Ada 2012 syntax highlighting in the 2017 release of GPS.

Depth coloring makes it easier to see the nested indenting structure of code, by making minor changes to the editor background color that highlight each level of nesting.

Please see how it looks for F# code:
Light theme, Microsoft Visual Studio 2015:
depthcolorizer
Dark theme:
depthcoloring
For referential use: The begin, end keywords and semicolons exist, but are non-mandatory in F# due to its indentation-aware syntax. In F#, whitespace - spaces and newlines - is significant. Indentation is used to indicate when statements and blocks of code are complete. Typically, a block of code is indented by four spaces, for readability purposes. The indented block of code in F# is an equivalent to a block of code inside the begin .. end keywords in Ada 2012 and F#.

Finally, I can tell you from my experience that coding with the depth colorizer is like changing an ancient Trabant for a modern Mercedes. It is a real pleasure to code with depth coloring. I believe the Ada 2012 language users would love this feature in the next release of GPS.

lal-highlighters.adb fails to compile (Langkit_Support.Token_Data_Handlers problem?)

On my machine it appears that recent changes in libadalang and/or langkit have caused gps to no longer build successfully failing starting with the following error messages:

lal-highlighters.adb:26:21: warning: unit "Langkit_Support.Token_Data_Handlers" is never instantiated
lal-highlighters.adb:567:26: a generic package is not allowed in a use clause
lal-highlighters.adb:573:30: invalid prefix in selected component "Langkit_Support.Token_Data_Handlers"
lal-highlighters.adb:580:30: invalid prefix in selected component "Langkit_Support.Token_Data_Handlers"
lal-highlighters.adb:595:16: "First_Token_Or_Trivia" is not visible
[...]

I'm guessing (hoping) that gps is out of sync with libadalang in the public repositories. If so, I can easily wait; it's not blocking anything I'm doing. However if it's my problem I'd like to fix my own daily builds.

Vim plugin - call to `get_end_location` fails for `cc` command

In usual Vim contexts, typing cc should delete the entirety of the current line and put the environment into insert mode. However, doing so with GPS' vim plugin causes the following stacktrace, with no change to the contents of the editor:

Traceback (most recent call last):
  File "/opt/gps/share/gps/library/vim.py", line 753, in key_pressed_proxy
    return view.vim_state.on_key_pressed(view, event)
  File "/opt/gps/share/gps/library/vim.py", line 284, in on_key_pressed
    remember_action = action.apply()
  File "/opt/gps/share/gps/library/vim.py", line 502, in apply
    BaseAction.apply(self)
  File "/opt/gps/share/gps/library/vim.py", line 345, in apply
    action.apply_action()
  File "/opt/gps/share/gps/library/vim.py", line 537, in apply_action
    end_loc = self.expected_action.get_end_location()
AttributeError: 'Replace' object has no attribute 'get_end_location'

Start with default project.

Hello,

I've got an exception when choosing "Start with default project" in GPS welcome screen:
Welcome to GPS 2018 (20180523) hosted on x86_64-apple-darwin16.7.0
the GNAT Programming Studio
(c) 2001-2018 AdaCore
Traceback (most recent call last):
File "/usr/local/adacore/2018/share/gps/support/core/cross_references.py", line 177, in on_project_view_changed
self.recompute_xref()
File "/usr/local/adacore/2018/share/gps/support/core/cross_references.py", line 158, in recompute_xref
extra_args = ['--db=%s' % (GPS.xref_db(), )]
GPS.Unexpected_Exception: unexpected internal exception raised GNATCOLL.VFS.VFS_INVALID_FILE_ERROR : gnatcoll-vfs.adb:312
0x0000000115D73DE2 0x000000010ECCB728 0x000000010EFF95FB 0x0000000115447A0E 0x0000000115448E53 0x000000011A7BBAAB 0x000000011A7B7B83 0x000000011A7BEF84 0x000000011A7BB1F1 0x000000011A7B7B83 0x000000011A73B9F9 0x000000011A714AF2 0x000000011A722C73 0x000000011A714AF2 0x0000000115454493 0x000000011545544D 0x0000000115D35E02 0x000000010F052B63 0x000000010F077022 0x000000010F0786F8 0x000000010F07A44D 0x000000010F07A746 0x000000010FFEE4E3 0x000000011714B43D 0x000000011B5BF970 0x000000011B5D0D0A 0x000000011B5D19C6 0x000000011B5D2034 0x000000011A9B19C3 0x000000011B5BFB86 0x000000011B5D170F 0x000000011B5D2034 0x000000011A9B23D4 0x000000011BE96882 0x000000011BE95E9B 0x000000011B5C118B 0x000000011B5BFB86 0x000000011B5D170F 0x000000011B5D2034 0x000000011AA5C16F 0x000000011B5C2AE6 0x000000011B5BFB86 0x000000011B5D170F 0x000000011B5D2034 0x000000011AA5913C 0x000000011AA5A506 0x000000011AA5D9C9 0x000000011AA2EB58 0x000000011ABE230A 0x000000011AAA41AC

HTH, Pascal.

GNATtest integration does not allow test harnesses outside of the object directory

I have been attempting to use the GNATtest integration within GPS to maintain a test suite but it seems that there is simply no way to configure the project settings to accommodate a test directory which is not inside the object directory.

I would like to put things outside of the object directory because putting test sources which I am editing inside the object directory is counter intuitive and forces me to check parts of the object directory into source control 😦

gnattest has no problem generating a test harness anywhere in the source tree, but the GPS integration will simply ignore an existing test harness outside of the object directory and generate a new one in the object directory.

Environment

GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73

gps RPATH broken

It appears that RPATH was deliberately disabled in DEBUG builds in a temporary workaround 11 months ago by the following commit: 12956e6

Is there any reason that this should not be reverted at the present time?

My observation is if it were reverted, RPATH is still not quite right as it contains extra ".." compared to some of the other Adacore builds, e.g. gnatcoll_db2ada, but a simple ln -s seems to cure that and make gps runnable. Specifically if building with "prefix=$PWD/gnat", a workaround seems as simple as "ln -s $PWD/gnat ../gnat".

Working relative RPATH seems useful to me. Both for convenience in development and portable builds without shell wrappers. The above commit blocks that. A proper patch to the build is not immediately obvious to me without some reorganizing of the overall gps source tree.

What am I missing?

Error while loading shared libraries

/opt/gnat/bin/gps_exe: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

I'm not able to start GPS because of an error while loading shared libraries. The library libncurses.so.5 is missing on Manjaro 17.1. The version of the library on my system is already v6 which gps doesnt like respectively is'nt able to find.

This happens either I'm installing gps from binary or from the arch user repository. I was able to fix it by installing the old version from aur aswell. I'm reporting this because I think in anytime soon this will happen with other distributions aswell.

Vim plugin - cw at end of line removes endline

When in normal mode inside the last word on a line, pressing cw should remove from the current character until the end of the line and leave you in insert mode. Instead, it removes until the next word, even if that is on the next line, resulting in effectively doing shift+j as well.

"Replace" feature making the first letter of each word in upper case

When using the "Find & Replace" feature with the regular expression option enabled and when the replacing string contains a reference to a group (for exemple, "\0" or "\1"), the result of the replacing operation puts each words in "smart mixed" casing, even when the string replaced is in a comment or if the "Preferences > Editor > Ada > Casing > Keywords and Identifiers casing" option is disabled, and it disregards the "Preferences > Editor > Ada > Casing > Reserved word casing".

Gnatpp spawning issue with -X switch.

Hello,
On the command line the following gnatpp invocation is fine:
cmd$ gnatpp -P test16.gpr -XLIB_COMPONENTS_BUILD2=default -XLIB_COMPONENTS_BUILD1=default test16.adb

But in GPS the invocation of pretty printer with project test16.gps on test16.adb gives the error:
gnat pretty -rf -Ptest16.gpr -XLIB_COMPONENTS_BUILD2=default -XLIB_COMPONENTS_BUILD1=default test16.adb
gnatpp: test16.gpr:7:04: warning: value "default -XLIB_COMPONENTS_BUILD1=default " is illegal for typed string "build2"
try "gnatpp --help" for more information.

I guess it's a GPS issue rather than gnatpp.

See project and source code in attached files.

HTH, Pascal.

Test16.zip

Feature suggestion: Provide DMG file for MacOS users

It would be super nice to have simple method of installation on MacOS.

Alternative (preferred) option would be to provide Homebrew / Homebrew Cask recipe (I could contribute to that when provided with DMG file).

Thanks!

How to translate GPS to my native language?

Hello!
I want to translate GPS' user interface to Brazilian Portuguese.
I feel that Ada would be more widely adopted if it were more "universal" and accessible to more peoples.
GPS is the main IDE for Ada, so translating it to other languages is very important to spread Ada throughout the world.

How does the translation process work?
Where do I begin?
Does GPS have a project in any kind of service like Transifex?
Thanks in advance for the answers.

Critical bug: GPS crashes if the Window 7 user folder name contains non-English symbols

Dear GPS developers!
I downloaded GNAT GPL 2016 from your official website: http://libre.adacore.com/download and installed it on the Russian release of Windows 7.
The GPS crashes immediately after its launch while trying to create the .gps sub-folder in the following folder: c:\Users\UserName. In non-English releases of Windows users can create user accounts (and Windows 7 creates the corresponding folder c:\Users\UserName) containing non-English symbols, for example, Офис (that is "Office" in English). I think the same situation could arise while launching the GPS on the Arabic, Chinese and other non-English releases of the Windows operating system.
Please fix this critical bug! I believe that the GPS for Windows should recognize and work well with folder names and filenames containing non-English symbols.

Pasting a magic record body causes GPS to lock up entirely

I've been able to reproduce this consistently, much to my chagrin! While copying and pasting some content from a git diff in my terminal, I managed to lock up the editor and in turn all of GPS.

Steps

  • Open some spec (.ads) file in a preexisting project
  • Begin to define a record:
type foobar is record

end record;
  • Copy and paste the below buffer into the middle of the record.
-      st_dev : aliased x86_64_linux_gnu_bits_types_h.uu_dev_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:48
-      st_ino : aliased x86_64_linux_gnu_bits_types_h.uu_ino_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:53
-      st_nlink : aliased x86_64_linux_gnu_bits_types_h.uu_nlink_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:61
-      st_mode : aliased x86_64_linux_gnu_bits_types_h.uu_mode_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:62
-      st_uid : aliased x86_64_linux_gnu_bits_types_h.uu_uid_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:64
-      st_gid : aliased x86_64_linux_gnu_bits_types_h.uu_gid_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:65
-      uu_pad0 : aliased int;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:67
-      st_rdev : aliased x86_64_linux_gnu_bits_types_h.uu_dev_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:69
-      st_size : aliased x86_64_linux_gnu_bits_types_h.uu_off_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:74
-      st_blksize : aliased x86_64_linux_gnu_bits_types_h.uu_blksize_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:78
-      st_blocks : aliased x86_64_linux_gnu_bits_types_h.uu_blkcnt_t;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:80
-      st_atim : aliased x86_64_linux_gnu_bits_types_struct_timespec_h.timespec;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:91
-      st_mtim : aliased x86_64_linux_gnu_bits_types_struct_timespec_h.timespec;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:92
-      st_ctim : aliased x86_64_linux_gnu_bits_types_struct_timespec_h.timespec;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:93
-      uu_glibc_reserved : aliased anon1763_uu_glibc_reserved_array;  -- /usr/include/x86_64-linux-gnu/bits/stat.h:106
  • Wait a moment, then click somewhere else inside the editor.
  • Listen for your laptop fan to turn on 😈

Environment

GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)

Vim plugin - de and ce fail with exception

Pressing de should delete to the end of the word, ce should edit until the end of the word. Instead, both of these throw:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Gnatpro\share\gps\library\vim.py", line 751, in key_pressed_proxy
    return view.vim_state.on_key_pressed(view, event)
  File "C:\Program Files (x86)\Gnatpro\share\gps\library\vim.py", line 284, in on_key_pressed
    remember_action = action.apply()
  File "C:\Program Files (x86)\Gnatpro\share\gps\library\vim.py", line 348, in apply
    raise e
AttributeError: 'NoAction' object has no attribute 'get_start_location'

New feature suggestion: Enrich syntax highlighting with rainbow braces

Dear GPS developers!
Please add rainbow braces to Ada 2012 syntax highlighting in the 2017 release of GPS.
Rainbow braces are colorization of braces {}, brackets [] and parenthesis (), so language users visually see the corresponding matching brace. As braces are enclosed inside one another, the color changes, so the depth of the expression can be easily seen by language users.

Usage example (in C# from Microsoft Visual Studio):
rainbowbraces
From my experience I can tell you that it is a pleasure to code with rainbow braces.

Vim plugin - cW incorrect

Pressing cW should change until the end of a word delimited by whitespace, seeing other symbols all as part of the word. Instead, the current character is first removed and then a capital W is inserted. The first bug is that a character instead of a word is replaced. The second bug is that this is done with two actions, so that pressing u to undo, only half undoes the action.

Find / Replace with an empty string breaks future Find functionality

Steps to reproduce

. Open a source file in the Editor view
. Open the "Search" view
. Enter a valid "Find" query into the "Find" field (e.g. `package)
. Leave "Replace" empty, such as you might when you're trying to replace something with an empty string
. Select "Where" of Whole Text in Current File.

Expected

The occurrences of "package" to be replaced by an empty string

What happened

  • The "Messages" view logged Finished replacing the string in current file (0 occurrences)
  • The "Replace" operation failed.
  • Subsequent "Find" operations fail to work until GPS is restarted.

Environment

GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)

"Generate unit test setup" should allow creation of N+1 tests for a subprogram

The "Generate Unit Test Setup" is a very helpful addition for GPS, but it seems to allow automatically register test subprograms in a 1-to-1 mapping to the subprogram under test.

For subprograms where I would want to unit test multiple inputs, this becomes a bit onerous to work with.

Adding a right-click context menu item under GNATTest for a subprogram specification like "Generate additional test procedure" would make this much easier.

[20180611] invalid switch: -gnat95 [Ada] prep.adb

I have a pre-existing GPS project (.GPR) file for an old project that has worked fine previously. Unfortunately this is replacement PC and after I installed the recent community GPS the project won't build any more using gnatmake.

I am getting the following error on every file:

        :
    gnat1: invalid switch: -gnat95
        [Ada]          comms.adb        
        :
    gnat1: invalid switch: -gnat95
        [Ada]          common_types.ads
       :

I downloaded the file today (2018-06-29):

  • gnat-community-2018-20180611
    • gnat-community-2018-20180611-x86_64-windows-bin.exe installer

I've been checking through the gnatmake and gnat help messages. I've only seen and option for 2012 which is the default anyway. No Ada 95-s of Ada 2005-s

 -gnat2012 Ada 2012 mode (default)

The project file has not been changed since 2015 according to the SVN log. When I checked the build settings on GPS sets "-ada95" for ADA '95 compatibility. It is not normally something one does manually. And yet, there seems to be no option on gnat or gnatmake to choose/specify Ada '95.

Is this a GPS error or is this something gone amiss with the GNAT tooling? Project file is pasted in below (the key bits).

One further non-useful 'feature' is that reporting a version is not turnned on for gnat1

   \gnat1.exe --help
       :
   -version                              [disabled]

----[ project file ]----

Trimmed down:

   for Source_Dirs use ("src/**");
   for Object_Dir use "../build/obj";
   for Source_Files use ( ... "common_types.ads", "comms.adb", "comms.ads", ... );

   package Compiler is
      for Switches ("ada") use ("-O2", "-gnatQ", "-gnat95");
   end Compiler;

   package Builder is
      for Default_Switches ("ada") use ("-k", "-j2", "-s");
   end Builder;

   package Naming is
      for Casing use "lowercase";
   end Naming;

-----[ versions ]----

gnatmake

gnatmake.exe --version
GNATMAKE Community 2018 (20180523-73)
Copyright (C) 1995-2018, Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gnat

gnat --version
GNAT Community 2018 (20180523-73)
Copyright (C) 1996-2018, Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gnat1

-version                              [disabled]

Opening the debugger with additional switches

GDB bug 11385 means that GDB on macOS (and possibly other systems) can’t catch exceptions with FSF GCC:

(gdb) catch exception
Your Ada runtime appears to be missing some debugging information.
Cannot insert Ada exception catchpoint in this configuration.

The easiest fix is to use additional switches on opening GDB (-readnow): gdb -readnow foo.
How can I arrange this in GPS?

(as a side note, is it correct that I have to say catch exception in the debugger console?)

Missing line numbers

Hi

See screenshot, my version is missing line numbers. I have selected "all line numbers" in the Options.
Version: 2018, Gentoo Linux.
I was told on Ada group (comp.lang.ada?) that this was a problem in 2016 version which was supposed to be fixed, so maybe it's just my system that has some other problem?

image

Thanks, Ian

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.