MATLAB: How to apply “smart indent” to a file programmatically

apieditorMATLABsmart indent

I have wrote a function that writes other functions. I want to now apply smart indent to the file to improve the aesthetics of the created function by aligning if_ends,etc. How can I do this programmaticly instead of the usual 'right-click' and select method as if programming manaually.

Best Answer

Suppose you have this fcn saved as foo:
function l = foo()
for l = 1:10
l
for l
l = 1:10
end
end
Then using editor API:
h = matlab.desktop.editor.openDocument('C:\Users\Oleg\Desktop\foo.m');
h.smartIndentContents
h.save
h.close