ATOMS: Indent with spaces
[scilab.git] / scilab / modules / atoms / macros / atomsAutoloadList.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) 2009 - DIGITEO - Pierre MARECHAL <pierre.marechal@scilab.org>
3 //
4 // This file must be used under the terms of the CeCILL.
5 // This source file is licensed as described in the file COPYING, which
6 // you should have received as part of this distribution.  The terms
7 // are also available at
8 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
9
10 // get the list of repositories
11
12 function modules = atomsAutoloadList(section)
13
14     // Load Atoms Internals lib if it's not already loaded
15     // =========================================================================
16     if ~ exists("atomsinternalslib") then
17         load("SCI/modules/atoms/macros/atoms_internals/lib");
18     end
19
20     rhs      = argn(2);
21     modules  = [];
22
23     // Check number of input arguments
24     // =========================================================================
25
26     if rhs > 1 then
27         error(msprintf(gettext("%s: Wrong number of input argument: at most %d expected.\n"),"atomsAutoloadList",1));
28     end
29
30     // Allusers/user management
31     //   - If Allusers is equal to "all", display both "user" and "allusers" autoload list
32     //       → SCI/.atoms/autoloaded
33     //       → SCIHOME/atoms/autoloaded
34     //   - If Allusers is equal to "allusers",display only "allusers" autoload list
35     //       → SCI/.atoms/autoloaded
36     //   - If Allusers is equal to "user",display only "user" autoload list
37     //       → SCIHOME/atoms/autoloaded
38     // =========================================================================
39
40     if rhs < 1 then
41         section = "all";
42
43     else
44
45         if type(section) <> 10 then
46             error(msprintf(gettext("%s: Wrong type for input argument #%d: Single string expected.\n"),"atomsAutoloadList",1));
47         end
48
49         if size(section,"*")<>1 then
50             error(msprintf(gettext("%s: Wrong size for input argument #%d: Single string expected.\n"),"atomsAutoloadList",1));
51         end
52
53         if and(section<>["user","allusers","all"]) then
54             error(msprintf(gettext("%s: Wrong value for input argument #%d: ''user'',''allusers'' or ''all'' expected.\n"),"atomsAutoloadList",1));
55         end
56
57     end
58
59     if section == "all" then
60         sections = ["user";"allusers"];
61     else
62         sections = section;
63     end
64
65     // Loop on sections
66     // =========================================================================
67
68     for i=1:size(sections,"*")
69
70         autoloaded = atomsAutoloadLoad(sections(i));
71
72         if ~ isempty(autoloaded) then
73             modules = [ modules ; autoloaded emptystr(size(autoloaded(:,1),"*"),1) + sections(i) ];
74         end
75
76     end
77
78 endfunction