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:
![Code Assistant](/c/portal/getImageAttachment?filename=p1.JPG&userId=382919)
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:
![Valid optional arguments](/c/portal/getImageAttachment?filename=p2.JPG&userId=382919)
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: ![Typesetting usage messages](/c/portal/getImageAttachment?filename=p3.JPG&userId=382919)