Files
gnatstudio/python/core/gps-python_core.adb
Anthony Leonardo Gracio 63c2e9d9c9 Update copyright year
(no-tn-check)
(no-precommit-check)

Change-Id: I50abdaba131d76d914f1df9a53f013ec8f48ca68
2021-01-11 17:22:37 +01:00

65 lines
2.6 KiB
Ada

------------------------------------------------------------------------------
-- GNAT Studio --
-- --
-- Copyright (C) 2013-2021, AdaCore --
-- --
-- This is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- ware Foundation; either version 3, or (at your option) any later ver- --
-- sion. This software is distributed in the hope that it will be useful, --
-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public --
-- License for more details. You should have received a copy of the GNU --
-- General Public License distributed with this software; see file --
-- COPYING3. If not, go to http://www.gnu.org/licenses for a complete copy --
-- of the license. --
------------------------------------------------------------------------------
with GNATCOLL.Arg_Lists;
with GNATCOLL.Scripts;
with GNATCOLL.Scripts.Python; use GNATCOLL.Scripts.Python;
with GNATCOLL.Utils; use GNATCOLL.Utils;
with GNAT.OS_Lib; use GNAT.OS_Lib;
-- with GNAT.Strings; use GNAT.Strings;
package body GPS.Python_Core is
---------------------
-- Register_Python --
---------------------
procedure Register_Python
(Kernel : access GPS.Core_Kernels.Core_Kernel_Record'Class)
is
Python_Home : String_Access := Getenv ("GPS_PYTHONHOME");
begin
if Python_Home.all = "" then
Free (Python_Home);
Python_Home := new String'(Executable_Location);
end if;
Register_Python_Scripting
(Kernel.Scripts,
Module => "GPS",
Python_Home => Python_Home.all);
Free (Python_Home);
-- Register GPS module as GS to use both in transition period
declare
Script : constant GNATCOLL.Scripts.Scripting_Language :=
Kernel.Scripts.Lookup_Scripting_Language (Python_Name);
Errors : Boolean;
begin
Script.Execute_Command
(CL => GNATCOLL.Arg_Lists.Create
("sys.modules['GS'] = GPS"),
Hide_Output => True,
Errors => Errors);
pragma Assert (not Errors);
end;
end Register_Python;
end GPS.Python_Core;