branch: externals/matlab-mode commit 66e6c72602373cc474fca8f1d13ed19408372115 Author: John Ciolfi <john.ciolfi...@gmail.com> Commit: John Ciolfi <john.ciolfi...@gmail.com>
toolbox/emacsdocomplete.m: add support for MATLAB R2025a --- toolbox/emacsdocomplete.m | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/toolbox/emacsdocomplete.m b/toolbox/emacsdocomplete.m index 8b28ad398d..e713b1e001 100644 --- a/toolbox/emacsdocomplete.m +++ b/toolbox/emacsdocomplete.m @@ -33,8 +33,30 @@ function emacsdocomplete(substring) if verNum >= 25 % R2025a and later - % Completions TBD + cmd = ['builtin(''_programmingAidsTest'', '''', ''', ... + substring, ''', ', num2str(length(substring)), ', [])']; + json = evalin('base', cmd); + completionInfo = jsondecode(json); disp(['Completions-Lisp:', newline, '''(']); + if strcmp(completionInfo.widgetType, 'completion') + useCellIndex = iscell(completionInfo.widgetData.choices); + nChoices = length(completionInfo.widgetData.choices); + for idx = 1 : nChoices + if useCellIndex + entry = completionInfo.widgetData.choices{idx}; + else + entry = completionInfo.widgetData.choices(idx); + end + if isfield(entry, 'purpose') + purpose = [entry.purpose, ' ']; + else + purpose = ''; + end + desc = [purpose, '(' entry.matchType, ')']; + desc = regexprep(desc,'"', '\\"'); + disp([' ("', entry.completion, '" . "', desc, '")']); + end + end disp(')'); else % R2024b and earlier