You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The `ModuleInterfaceTools` package is now working on both the release version (v0.6.2) and the latest master (v0.7.0-DEV).
@@ -17,25 +17,26 @@ This is a bit of a work-in-progress, I heartily welcome any suggestions for bett
17
17
```julia
18
18
@api<cmd> [<symbols>...]
19
19
20
-
*@apiinit# set up module/package for adding names
21
-
*@api freeze # use at end of module, to "freeze" API
20
+
*@apilist# display information about this module's API
21
+
*@api freeze # use at end of module, to "freeze" API
22
22
23
+
*@api list <modules>...# display information about one or more modules' API
23
24
*@api use <modules>...# for normal use, i.e. `using`
24
25
*@api test <modules>...# using public and develop symbols, for testing purposes
25
26
*@api extend <modules>...# for development, imports `base`, `public`, and `develop` lists,
26
27
*# uses `define_public`and `define_develop` lists
27
28
*@apiexport<modules>...# export api symbols
28
29
29
-
*@api base <names...># Add functions from Base that are part of the API
30
-
*@api public<names...># Add functions that are part of the public API
31
-
*@api develop <names...># Add functions that are part of the development API
32
-
*@apidefine_public<names...># Add other symbols that are part of the public API (structs, consts)
33
-
*@apidefine_develop<names...># Add other symbols that are part of the development API
34
-
*@apidefine_module<names...># Add submodule names that are part of the API
35
-
*@apimaybe_public <names...># Conditionally import functions from Base, or define them
30
+
*@api base <names...># Add functions from Base that are part of the API
31
+
*@api public! <names...># Add functions that are part of the public API
32
+
*@api develop!<names...># Add functions that are part of the development API
33
+
*@apipublic <names...># Add other symbols that are part of the public API (structs, consts)
34
+
*@apidevelop <names...># Add other symbols that are part of the development API
35
+
*@apimodules <names...># Add submodule names that are part of the API
36
+
*@apibase! <names...># Conditionally import functions from Base, or define them
36
37
```
37
38
38
-
This also includes the `@def` macro, which I've found very useful!
39
+
This also includes the `@def` macro, renamed as `@api def`which I've found very useful!
39
40
40
41
I would also like to add commands that add the functionality of `@reexport`,
41
42
but instead of exporting the symbols found in the module(s), add them to either the public
@@ -45,4 +46,3 @@ have a docstring, and are not exported, to the develop list, and all exported na
45
46
Another thing I'd like to add is a way of using/importing a module, but having pairs of names, for renaming purposes, i.e. something like `@api use Foobar: icantreadthisname => i_cant_read_this_name`
46
47
which would import the variable from Foobar, but with the name after the `=>`.
47
48
48
-
Finally, I'd like to add a few interactive commands, such as `@api list public`, or `@api list develop Foobar`, to display what the API is of the current module, or of the given module(s).
0 commit comments