I have a couple of questions related to usage messages and syntax styling in developed packages. Mathematica has a powerful Code Assist functionality, and the fundamental question is how you should code your packages so your packages behave like native Mathematica functions. To examplify my question:
Plot[Sin[x], {x, 0, 2 \[Pi]}, LabelStyle -> Directive[Bold, Medium]]
When typing the functions, Mathematica automatically provides feedback and help:
The options displayed are those that are only valid for the Plot
function. Similarly, when you have selected a valid options, valid alternatives are suggested by Mathematica:
How can I implement this functionality in my own packages? And the second question, how can I prettify my usage messages to be displayed with mathematical typesetting? Mathematica provides nicely typeset usage messages: