403 Commits

Author SHA1 Message Date
Emmanuel Briot
d516319350 Implement the messages window with generic_views.ads.
This creates an elaboration circularity resolves in future checkins

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/branches/global/gtk3/gps@199368 936e1b1b-40f2-da11-902a-00137254ae57
2012-12-07 16:13:46 +00:00
Emmanuel Briot
a0ec4c99ec Also implement the GPS shell console with generic_views.ads
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/branches/global/gtk3/gps@199344 936e1b1b-40f2-da11-902a-00137254ae57
2012-12-07 11:25:32 +00:00
Emmanuel Briot
3730ab5474 Implement the python console with generic_views.ads to better share code.
Move interactive_consoles.ads to kernel/src

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/branches/global/gtk3/gps@199342 936e1b1b-40f2-da11-902a-00137254ae57
2012-12-07 11:13:06 +00:00
Emmanuel Briot
4a1d2f8329 Add debug traces for the python setup
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/branches/global/gtk3/gps@199188 936e1b1b-40f2-da11-902a-00137254ae57
2012-12-05 14:37:35 +00:00
Automatic merge
f31ab95e31 Merge changes from trunk.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/branches/global/gtk3/gps@196565 936e1b1b-40f2-da11-902a-00137254ae57
2012-10-15 16:25:49 +00:00
Automatic merge
16da290fe3 merging automatically changes 194408 to 194410
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/branches/global/gtk3/gps@194411 936e1b1b-40f2-da11-902a-00137254ae57
2012-09-06 15:25:35 +00:00
Emmanuel Briot
c4d6a2193a Continued transition to GPL v3
KC20-002

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@182689 936e1b1b-40f2-da11-902a-00137254ae57
2011-12-20 09:58:07 +00:00
Emmanuel Briot
2b6b8b3eab (Load_Dir): when an initialization command exists for a python script,
it needs to be executed after the corresponding "import".
 Fixes a bug introduced when moving the support for loading a directory
 directly into GNATCOLL.
At this stage, it might in fact be better to remove support for
 initialization commands: they can be replaced either by preferences
 (already done in most modules), or by a user script in ~/.gps/ that
 would customize all scripts. GUI editing for these initialization
 sequences has been removed a while ago already.

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@168688 936e1b1b-40f2-da11-902a-00137254ae57
2011-01-03 12:00:21 +00:00
Pascal Obry
9cbef0a261 Minor reformatting.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@168617 936e1b1b-40f2-da11-902a-00137254ae57
2010-12-23 10:44:27 +00:00
Emmanuel Briot
49ea2b3226 (GNATCOLL.Scripts.Load_Directory): new subprogram, moved from
python_module for easier reuse
 We now also load python modules (ie subdirectories with a __init__.py
 file) to match more closely what python itself would do

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@168612 936e1b1b-40f2-da11-902a-00137254ae57
2010-12-23 09:23:54 +00:00
Emmanuel Briot
864fb49b1c (Executable_Location, Is_Directory_Separator): moved to GNATCOLL.Utils,
for reuse in the modeling project.

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@168595 936e1b1b-40f2-da11-902a-00137254ae57
2010-12-22 13:09:24 +00:00
Emmanuel Briot
48aa2efd2b (GNATCOLL.Scripts): store common information about registered commands
in a structure shared among all scripting languages. This saves a minor
 amount of memory (avoid duplicating the name of the commands in memory),
 but more importantly provides a good place to store (once) the parameter
 names for JB12-019
(Register_Command, for a scripting_language): profile changed. Users should
 no longer call this procedure directly, but go through the one at the
 repository level.

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@167171 936e1b1b-40f2-da11-902a-00137254ae57
2010-11-17 12:06:29 +00:00
Nicolas Setton
ca9ed0729d * gps.texi:
Add documentation for GPS_PYTHONHOME.

* gnatcoll-python.adb:
(Py_SetPythonHome): New binding.

* gnatcoll-python.ads:
(Py_SetPythonHome): Declare.

* gnatcoll-scripts-python.adb:
(Register_Python_Scripting): New parameters Program_Name and Python_Home.

* gnatcoll-scripts-python.ads:
(Register_Python_Scripting): New parameters Program_Name and Python_Home,
 allowing finer control on the initialization of the Python interpreter.

* gps-main.adb:
(Init_Settings): Do not modify PYTHONHOME.
(Finish_Setup): Likewise.

* python_module.adb:
(Register_Module): Set the Python home explicitely, either to the directory
 pointed to by GPS_PYTHONHOME if it is set, or to the install dir.

For JA20-017.




git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@166155 936e1b1b-40f2-da11-902a-00137254ae57
2010-10-20 14:58:09 +00:00
Arnaud Charlet
6c2347c168 Split most Gtk+ related subprograms out of GPS.Kernel.Modules, in
GPS.Kernel.Modules.UI.
Part of IA26-021


git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@161730 936e1b1b-40f2-da11-902a-00137254ae57
2010-06-29 06:29:51 +00:00
Arnaud Charlet
0654ff76e6 Code clean up.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@161710 936e1b1b-40f2-da11-902a-00137254ae57
2010-06-28 15:46:54 +00:00
Emmanuel Briot
2271e6e3cc Use a symbol table to share string_access, to limit the number of
mallocs, and save memory for structures that are kept permanently
 in memory
J603-022

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@161002 936e1b1b-40f2-da11-902a-00137254ae57
2010-06-09 16:16:50 +00:00
Emmanuel Briot
80bf316b8f Set all Object_Dir and Library_Dir attributes in projects from the value in
gnatcoll_shared.gpr
This is for convenience when working with multiple branches in git:
 by changing the value (in a single place) on each branch, we can keep
 the build tree for each branch, and avoid extra recompilation when
 changing branches. For instance, one can set Object_Dir and Library_Dir
 to the following value in gnatcoll_shared.gpr (not checked in):
    for Object_Dir use "obj/" & External ("GIT_BRANCH", "");
    for Library_Dir use "lib/" & External ("GIT_BRANCH", "");
 provided the environment variable GIT_BRANCH is set automatically every
 time you change the branch (that's under control of the shell)

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@160904 936e1b1b-40f2-da11-902a-00137254ae57
2010-06-08 10:45:36 +00:00
Emmanuel Briot
b3216e7219 (GNATCOLL.Projects): new API, moved from GPS
Remove project manager from GPS, since it is now in GNATCOLL
 I422-003

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@158310 936e1b1b-40f2-da11-902a-00137254ae57
2010-03-30 08:12:23 +00:00
Emmanuel Briot
1cd402c5be (Save_Desktop): Fixed, since this might be called when the python
console does not even exist (apparently this is new with IA27-021)

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@153512 936e1b1b-40f2-da11-902a-00137254ae57
2009-11-27 14:28:09 +00:00
Pascal Obry
a06083dbdb Fix permissions
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@152738 936e1b1b-40f2-da11-902a-00137254ae57
2009-11-23 20:11:05 +00:00
Nicolas Setton
381194f82b Rename package GNATCOLL.Command_Lines to GNATCOLL.Arg_Lists and type
Command_Line to Arg_List.
For IB19-006.




git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@152729 936e1b1b-40f2-da11-902a-00137254ae57
2009-11-23 17:31:43 +00:00
Nicolas Setton
19c879101e * aliases_module.adb:
(Execute): Adapt to new profile of Execute_GPS_Shell_Command.

* build_command_manager.adb:
Start replacing command line handling with use of GNATCOLL.Command_Line.

* builder_module.adb:
Do not use a GNAT.OS_Lib.Argument_List to represent a command line.

* commands-builder.adb:
(Launch_Build_Command): Use type GNATCOLL.Command_Lines.Command_Line.

* commands-builder.ads:
(Launch_Build_Command): Use type GNATCOLL.Command_Lines.Command_Line.

* code_peer-module-bridge.adb:
(Add_Audit_Record): Adapt to new profile of Launch_Process.
(Inspection): Ditto.
(Review_Message): Ditto.

* code_peer-shell_commands.adb:
(Build_Target): Adapt to new profile of Execute_GPS_Shell_Command.
(Build_Target_Execute): Ditto.
(Get_Build_Mode): Ditto.
(Set_Build_Mode): Ditto.

* codefix_module.adb:
(Compilation_Finished_Cb): Adapt to new profile of Execute_GPS_Shell_Command.

* custom_module.adb:
(Parse_Entry_Node): Adapt to new profile of Execute_GPS_Shell_Command.

* expect_interface.adb:
 (Interactive_Expect): Adapt to new profile of Spawn.
(Custom_Spawn_Handler): Likewise.

* xml_viewer.adb:
(On_Click): Adapt to new profile of Execute_GPS_Shell_Command.

* gnatcoll-command_lines.adb:
Initial revision.

* gnatcoll-command_lines.ads:
Initial revision.

* gnatcoll-scripts-shell.ads:
(Initialize): Remove parameter Arguments_Count, no longer needed.
(Command_Line_Treatment): Declare.
(Execute_Command): Adapt to new profile of parent.
(Execute_Command_With_Args): Likewise.
(Set_Nth_Arg): Likewise.

* gnatcoll-scripts-utils.ads:
Add ??? comment.

* gnatcoll-scripts.adb:
(Command_Line_Treatment): Declare.
(Set_Nth_Arg): Adapt to new parameters of parent.
(Execute_Command): Likewise.
(Execute_Command_With_Args): Likewise.


* gnatcoll-scripts.ads:
(Command_Line_Treatment): Add new subprogram, which enables scripts to specify
 how they would like their command line to be handled.
(Set_Nth_Arg): Adapt to new parameters of parent.
(Execute_Command): Likewise.
(Execute_Command_With_Args): Likewise.

* gnatcoll-scripts-python-gtkada.adb:
(Init_PyGtk_Support): Adapt to new profile of Execute_Command.

* gnatcoll-scripts-python.adb:
(Command_Line_Treatment): Implement.
(Set_Nth_Arg): Adapt to profile of parent.
(Execute_Command): Ditto.
(Execute_File): Adapt to new profile of Execute_Command.

* gnatcoll-scripts-python.ads:
(Command_Line_Treatment): Declare.
(Execute_Command, Set_Nth_Arg): Adjust to new profiles of abstract parent.

* gps-main.adb:
(Execute_Batch): Adapt to new profile of Execute_Command.

* debugger.adb:
(General_Spawn): Adapt to new profile of Spawn.

* debugger.ads:
Add ??? comment.

* gvd-proc_utils.adb:
(Open_Processes): Adapt to new profile of Spawn.

* gvd-source_editor-gps.adb:
(Highlight_Current_Line): Adapt to new profile of Execute_GPS_Shell_Command.
(Unhighlight_Current_Line): Ditto.
(Initialize): Ditto.
(Free_Debug_Info): Ditto.

* help_module.adb:
(On_Load_HTML): Adapt to new profile of Execute_Command.

* commands-custom.adb:
Rewrite handling of command line. Use type GNATCOLL.Command_Lines.Command_Line.

* gps-kernel-macros.adb:
(Substitute): No need to protect paths.

* gps-kernel-remote.adb:
(Spawn): Use type Command_Line rather than GNAT.OS_Lib.Argument_List to
 represent command lines.


* gps-kernel-remote.ads:
(Spawn): Use type Command_Line rather than GNAT.OS_Lib.Argument_List to
 represent command lines.

* gps-kernel-scripts.adb:
(Execute_GPS_Shell_Command): Remove versions based on String + GNAT.OS_Lib.
 Argument_List. Replace all by use of type Command_Line.
(Set_Nth_Arg): Adjust mode of Callback_Data.

* gps-kernel-scripts.ads:
(Execute_GPS_Shell_Command): Remove versions based on String + GNAT.OS_Lib.
 Argument_List. Replace all by use of type Command_Line.
(Set_Nth_Arg): Adjust mode of Callback_Data.

* gps-kernel-timeout.adb:
(Free): No longer need to free Args.
(Execute): Ditto. Adapt to new profile for Spawn.
(Launch_Process): Use type Command_Line to represent a command line.

* gps-kernel-timeout.ads:
(Launch_Process): Use type GNATCOLL.Command_Lines.Command_Line to represent a
 command line.

* gps-kernel.adb:
(Filter_Matches_Primitive): Adapt to new profile of Execute_Command.

* navigation_module.adb:
(Go_To): Adapt to new profile of Execute_Command.

* project_properties.adb:
(For_Each_Item_In_List): Adapt to new profile of Execute_Command.

* python_module.adb:
(Load_Dir): Adapt to new profile of Execute_Command.

* remote-rsync.adb:
(On_Rsync_Hook): Adapt to new profile of Launch_Process.

* clearcase.xml:
Conform to the command line API design: parameters such as "$2-" and "$*" need
 to not be surrounded by quotes, so that they expand into multiple arguments.

* cvs.xml:
Conform to the command line API design: parameters such as "$2-" and "$*" need
 to not be surrounded by quotes, so that they expand into multiple arguments.

* gnatpp.xml:
Remove unneeded triple quoting.

* subversion.xml:
Conform to the command line API design: parameters such as "$2-" and "$*" need
 to not be surrounded by quotes, so that they expand into multiple arguments.

* shell_script.adb:
(Module_Command_Handler): Adapt to new profile of Execute_GPS_Shell_Command.
(Create): No longer need to take into account Arguments_Count.
 Add ??? comment.

* commands-socket.adb:
(Execute): Adapt to new profile of Execute_GPS_Shell_Command.

* casing_exceptions.adb:
(Set_Casing): Adapt to new profile of Execute_GPS_Shell_Command.

* src_editor_buffer.adb:
(Edition_Timeout): Adapt to new profile of Execute_GPS_Shell_Command.

* src_editor_module.adb:
(On_Print): Adapt to new profile of Execute_GPS_Shell_Command.

* log_utils.adb:
(Get_ChangeLog_From_File): Adapt to new profile of Execute_GPS_Shell_Command.

* vcs-generic_vcs.adb:
(Parse_Annotations): Adapt to new profile of Execute_GPS_Shell_Command.

* vcs_activities_view_api.adb:
(Execute): Adapt to new profile of Execute_GPS_Shell_Command.

* vcs_view_api.adb:
(Get_Location): Adapt to new profile of Execute_GPS_Shell_Command.
(On_Menu_Edit_ChangeLog): Ditto.
(On_Menu_View_Log_Rev): Ditto.
(Comparison): Ditto.

* vdiff2_command_block.adb:
(Close_Difference): Adapt to new profile of Execute_GPS_Shell_Command.

* vdiff2_module-callback.adb:
(Setup_Ref): Adapt to new profile of Execute_GPS_Shell_Command.

* vdiff2_module-utils-shell_command.adb:
(Add_Line Adapt to new profile of Execute_GPS_Shell_Command.
(Edit, Synchronize_Scrolling, Get_Chars, Get_File_Last_Line,
Get_Line_Number, Highlight_Line, Highlight_Range, Register_Highlighting,
Remove_Blank_Lines, Replace_Text, Unhighlight, Unhighlight_Range): Ditto.

* vdiff2_module-utils.adb:
(Is_Ref_Editor_Opened): Adapt to new profile of Execute_GPS_Shell_Command.

* clipboard_views.adb:
(Button_Press): Adapt to new profile of Execute_GPS_Shell_Command.

* interactive_consoles.adb:
(Default_Command_Handler): Adapt to new profile of Execute_Command.

Change the way GPS handles command lines. Introduce a new type
 (GNATCOLL.Command_Lines.Command_Line) and use it in most areas where we
 manipulate command lines.

For H926-007.




git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@152411 936e1b1b-40f2-da11-902a-00137254ae57
2009-11-17 17:51:13 +00:00
Emmanuel Briot
c6bd8bdcd5 (dependencies.py): the hash table computed for projects (Hash_Type) is
sometimes out of range of Integer, and resulted in a Constraint_Error.
 Make the algorithm much faster by only reporting a single file
 dependency per project dependency, by default.
 IB12-015

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@152250 936e1b1b-40f2-da11-902a-00137254ae57
2009-11-13 13:02:14 +00:00
Emmanuel Briot
1ab0792923 (htables.ads): change API to get closer to what GNAT.Dynamic_Htables
currently is, and to what I422-031 aims at.
 The goal is to be able to replace this package with
 GNAT.Dynamic_Htables when the latter has been updated
(String_Utils.Hash): moved from htables.ads

git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@147780 936e1b1b-40f2-da11-902a-00137254ae57
2009-07-29 01:39:05 +00:00
Jerome Lambourg
8d01d8e0a3 (Load_Dir): Make sure that there are no trailing '\' when setting the python
sys.dir.
Correction of a regression brought by I325-007



git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@142530 936e1b1b-40f2-da11-902a-00137254ae57
2009-04-10 06:03:41 +00:00