annotate scripts/help/doc_cache_create.m @ 26376:00f796120a6d stable

maint: Update copyright dates in all source files.
author John W. Eaton <jwe@octave.org>
date Wed, 02 Jan 2019 16:32:43 -0500
parents 6652d3823428
children b442ec6dda5c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26376
00f796120a6d maint: Update copyright dates in all source files.
John W. Eaton <jwe@octave.org>
parents: 25054
diff changeset
1 ## Copyright (C) 2009-2019 Søren Hauberg
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
2 ##
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
3 ## This file is part of Octave.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
4 ##
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23220
diff changeset
5 ## Octave is free software: you can redistribute it and/or modify it
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23220
diff changeset
7 ## the Free Software Foundation, either version 3 of the License, or
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22323
diff changeset
8 ## (at your option) any later version.
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
9 ##
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22323
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22323
diff changeset
13 ## GNU General Public License for more details.
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
14 ##
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 23220
diff changeset
17 ## <https://www.gnu.org/licenses/>.
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
18
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
19 ## -*- texinfo -*-
20852
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20158
diff changeset
20 ## @deftypefn {} {} doc_cache_create (@var{out_file}, @var{directory})
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20158
diff changeset
21 ## @deftypefnx {} {} doc_cache_create (@var{out_file})
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20158
diff changeset
22 ## @deftypefnx {} {} doc_cache_create ()
20158
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
23 ## Generate documentation cache for all functions in @var{directory}.
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
24 ##
20158
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
25 ## A documentation cache is generated for all functions in @var{directory}
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
26 ## which may be a single string or a cell array of strings. The cache is used
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
27 ## to speed up the function @code{lookfor}.
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
28 ##
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
29 ## The cache is saved in the file @var{out_file} which defaults to the value
7503499a252b doc: Update docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19833
diff changeset
30 ## @file{doc-cache} if not given.
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
31 ##
18534
f51c1498b9f3 doc: Replace "builtin" with "built-in" for consistency and correctness.
Rik <rik@octave.org>
parents: 17744
diff changeset
32 ## If no directory is given (or it is the empty matrix), a cache for built-in
21529
8d894e463de6 doc_cache_create.m: Tweak docstring, improve performance.
Rik <rik@octave.org>
parents: 20852
diff changeset
33 ## functions, operators, and keywords is generated.
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
34 ##
16872
5372068bb148 Rename gen_doc_cache() to doc_cache_create().
Rik <rik@octave.org>
parents: 16724
diff changeset
35 ## @seealso{doc_cache_file, lookfor, path}
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
36 ## @end deftypefn
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
37
16872
5372068bb148 Rename gen_doc_cache() to doc_cache_create().
Rik <rik@octave.org>
parents: 16724
diff changeset
38 function doc_cache_create (out_file = "doc-cache", directory = [])
13067
875577a19d70 codesprint: Add 1 input validation test for gen_doc_cache()
Rik <octave@nomad.inbox5.com>
parents: 11588
diff changeset
39
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
40 ## Check input
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
41 if (! ischar (out_file))
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
42 print_usage ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
43 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
44
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
45 ## Generate cache
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
46 if (isempty (directory))
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
47 cache = gen_builtin_cache ();
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
48 elseif (iscell (directory))
17386
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
49 if (all (cellfun ("isclass", directory, "char")))
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
50 cache = gen_doc_cache_in_dir (directory);
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
51 else
16872
5372068bb148 Rename gen_doc_cache() to doc_cache_create().
Rik <rik@octave.org>
parents: 16724
diff changeset
52 error ("doc_cache_create: cell must contain only strings");
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
53 endif
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
54 elseif (ischar (directory))
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
55 cache = gen_doc_cache_in_dir (directory);
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
56 else
16872
5372068bb148 Rename gen_doc_cache() to doc_cache_create().
Rik <rik@octave.org>
parents: 16724
diff changeset
57 error ("doc_cache_create: second input argument must be a string or a cell of strings");
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
58 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
59
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
60 ## Save cache
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
61 if (! isempty (cache))
19113
72e32208ff77 Don't save build timestamp in doc-cache header comment (bug #43087)
Mike Miller <mtmiller@ieee.org>
parents: 18534
diff changeset
62 save_header_format_string (["# doc-cache created by Octave " OCTAVE_VERSION], "local");
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
63 save ("-text", out_file, "cache");
8863
34a821854961 pkg.m (generate_lookfor_cache): generate a DOC file for each directory
Jason Riedy <jason@acm.org>
parents: 8861
diff changeset
64 endif
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
65
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
66 endfunction
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
67
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
68 function [text, first_sentence, status] = handle_function (f, text, format)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21529
diff changeset
69
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
70 first_sentence = "";
21529
8d894e463de6 doc_cache_create.m: Tweak docstring, improve performance.
Rik <rik@octave.org>
parents: 20852
diff changeset
71 ## Skip internal functions starting with "__"
8d894e463de6 doc_cache_create.m: Tweak docstring, improve performance.
Rik <rik@octave.org>
parents: 20852
diff changeset
72 if (strncmp (f, "__", 2))
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
73 status = 1;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
74 return;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
75 endif
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
76
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
77 ## Take action depending on help text format
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
78 switch (lower (format))
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
79 case "plain text"
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
80 status = 0;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
81 case "texinfo"
8860
257ed585b471 gen_doc_cache.m: call __makeinfo__, not makeinfo
Jason Riedy <jason@acm.org>
parents: 8729
diff changeset
82 [text, status] = __makeinfo__ (text, "plain text");
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
83 case "html"
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
84 [text, status] = strip_html_tags (text);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
85 otherwise
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
86 status = 1;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
87 endswitch
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
88
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
89 ## Did we get the help text?
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
90 if (status != 0 || isempty (text))
16872
5372068bb148 Rename gen_doc_cache() to doc_cache_create().
Rik <rik@octave.org>
parents: 16724
diff changeset
91 warning ("doc_cache_create: unusable help text found in file '%s'", f);
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
92 return;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
93 endif
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
94
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
95 ## Get first sentence of help text
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
96 first_sentence = get_first_help_sentence (f);
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21529
diff changeset
97
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
98 endfunction
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
99
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
100 function cache = create_cache (list)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21529
diff changeset
101
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
102 cache = {};
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
103
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
104 ## For each function:
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
105 for n = 1:length (list)
17386
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
106 f = list{n};
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
107
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
108 ## Get help text
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
109 [text, format] = get_help_text (f);
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
110
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
111 [text, first_sentence, status] = handle_function (f, text, format);
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
112
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
113 ## Did we get the help text?
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
114 if (status != 0)
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
115 continue;
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
116 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
117
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
118 ## Store the help text
17386
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
119 cache(1, end+1) = f;
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
120 cache(2, end) = text;
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
121 cache(3, end) = first_sentence;
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
122 endfor
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21529
diff changeset
123
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
124 endfunction
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
125
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
126 function cache = gen_doc_cache_in_dir (directory)
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
127
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
128 ## If 'directory' is not in the current path, add it so we search it
16724
b7667fcb9fbc Substitute ostrsplit() for strsplit().
Ben Abbott <bpabbott@mac.com>
parents: 16403
diff changeset
129 dir_in_path = ismember (directory, ostrsplit (path (), pathsep ()));
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
130
17336
b81b9d079515 Use '##' for comments which stand alone on a line.
Rik <rik@octave.org>
parents: 17243
diff changeset
131 ## dirs not in path
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
132 if (! iscell (directory))
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
133 directory = {directory};
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
134 endif
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
135 dirs_notpath = {directory{! dir_in_path}};
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
136
17336
b81b9d079515 Use '##' for comments which stand alone on a line.
Rik <rik@octave.org>
parents: 17243
diff changeset
137 ## add them
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
138 if (! isempty (dirs_notpath))
17386
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
139 addpath (dirs_notpath{:});
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
140 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
141
17336
b81b9d079515 Use '##' for comments which stand alone on a line.
Rik <rik@octave.org>
parents: 17243
diff changeset
142 ## create cache
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
143 func = @(s_) create_cache (__list_functions__ (s_));
17386
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
144 cache = cellfun (func, directory, "UniformOutput", false);
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
145
17336
b81b9d079515 Use '##' for comments which stand alone on a line.
Rik <rik@octave.org>
parents: 17243
diff changeset
146 ## concatenate results
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
147 cache = [cache{:}];
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
148
21529
8d894e463de6 doc_cache_create.m: Tweak docstring, improve performance.
Rik <rik@octave.org>
parents: 20852
diff changeset
149 ## remove dirs from path
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
150 if (! isempty (dirs_notpath))
17386
6dbc866379e2 Replace cellfun() occurrences with faster code where possible.
Rik <rik@octave.org>
parents: 17338
diff changeset
151 rmpath (dirs_notpath{:});
14552
86854d032a37 maint: miscellaneous style fixes for .m files
John W. Eaton <jwe@octave.org>
parents: 14486
diff changeset
152 endif
14486
6bed5141fdad Let gen_doc_cache_in_dir accept multiple directories as input.
Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
parents: 14138
diff changeset
153
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
154 endfunction
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
155
8729
d65a0a1780b6 Simplify documentation cache generation to only handle one directory per call to 'gen_doc_cache'
Soren Hauberg <hauberg@gmail.com>
parents: 8575
diff changeset
156 function cache = gen_builtin_cache ()
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21529
diff changeset
157
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
158 operators = __operators__ ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
159 keywords = __keywords__ ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
160 builtins = __builtins__ ();
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
161 list = {operators{:}, keywords{:}, builtins{:}};
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
162
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
163 cache = create_cache (list);
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21529
diff changeset
164
8575
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
165 endfunction
f134925a1cfa m-file implementation of help system
Soren Hauberg <soren@hauberg.org>
parents:
diff changeset
166
13067
875577a19d70 codesprint: Add 1 input validation test for gen_doc_cache()
Rik <octave@nomad.inbox5.com>
parents: 11588
diff changeset
167
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
168 ## No true tests desirable for this function.
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19697
diff changeset
169 ## Test input validation
16872
5372068bb148 Rename gen_doc_cache() to doc_cache_create().
Rik <rik@octave.org>
parents: 16724
diff changeset
170 %!error doc_cache_create (1)