How to extract documentation from vala code? - documentation-generation

I would like to know if there is a tool to extract documentation from vala source files like javadoc or doxygen does for Java / C++ /...
I started to document my code with classic
/**
* I'm a function !
* #arg An argument
* #return I return nothing
*/
Thanks,
Damien

Valadoc does this. Instructions on how to use it seem to be a bit sparse.
Also, if you are writing a library that is to be used from both Vala and C, a quick test shows that Vala preserves /** documentation comments when writing out C code. You can then use a C documentation tool, notably GTK-Doc, to generate documentation.

Valadoc is the official tool to build documentation, but on some systemes, make install don't works properly (for me, under Ubuntu 11.10).
So you have to correct the rights on some files.
Take a look at this page : http://www.mail-archive.com/vala-list#gnome.org/msg07321.html

Related

Is there a macOS objective c or swift call for me to check if a system extension has been installed?

I have googled and searched here and have come up empty.
I have an application that installs a system extension and I'm resorting to writing to a file when the extension is installed to know.
Is there an objective C or Swift function that does essentially what systemextensionctl list does? This is a sandboxed app and I don't want to (and suspect I can't) fork/run a shell command.
There is still no public API to do that, but there is a way to use the private API under the systemextensionctl, OSSystemExtensionClient, as described here.
You will need to reverse the OSSystemExtensionClient futher to get the list of extensions.
It also may be that you can find desired information in some .db files.
Both things are not considered as public and could be changed at any moment.

XML Documentation Comments in VS Code?

In Visual Studio (C#/VB.NET, not sure in other languages?), if you add three slashes at the top of a method or property, Visual Studio auto-creates a structured way giving information for the method and its parameters and return values, where applicable. It's useful for creating developer documentation, but mostly I use it to reference information about a method I'm calling if, for example, I have multiple overloads and need to see which one I'm calling. See MS docs link here.
Does VS Code have anything like that? I can't seem to find it in the key bindings in preferences. Maybe there's something similar in VS Code that I'm not aware of?
Solved. Single line comments don't produce the XML documentation but the following syntax does:
/**
* include a description of your method to be viewed when you mouse over the method call
*/

Is it possible to include the cpp-reference.com documentation into clion's quick documentation viewer?

The provided documentation for the basic c++ packages within clion seems to be very short, and sometimes it is not possible to find any documentation for basic functions like e.g. the tangens function of the math package.
Is it somehow possible to include the offline-version of cppreference.com into clion's doxygen-based documentation viewer?
At the moment CLion doesn't support such functionality, here's the ticket for that https://youtrack.jetbrains.com/issue/CPP-9413.
As workaround, in case you use Linux you can install standard library with documentation, for instance:
https://packages.debian.org/sid/libstdc++-6-doc
https://packages.debian.org/sid/glibc-doc
After that CLion will have to work with lib-sources which documentation comments.

Get Visual Studio 2015 to recognize Doxygen comments

I have a function documented like this:
/**
* Does something useful
*/
int foo(Bar bar)
{
// my function
}
But Intellisense doesn't display it when i hover the function in other places. When i hover it at the definition, i see * Does something useful, which isn't right either (the star should not be in there). Doxygen runs fine and eclipse CDT displays the doc comments as you would expect.
As of version 2016.2, JetBrains ReSharper provides support for Doxygen documents in C++ files. From this blog post I quote:
Doxygen is arguably the most popular format and tool for code
documentation in the C++ world. ReSharper C++ now understands Doxygen
syntax, and provides several key features to facilitate editing of
documentation blocks.
Typing assist helps with creating new comment blocks and maintaining the
structure of existing ones.
Code completion suggests Doxygen commands with accompanying short descriptions.
Function parameter references introduced with \param commands will be reported by Find Usages and will get updated when Rename is used to change a function parameter’s name.
Warnings are issued when function parameter references do not resolve to an existing function parameter.
Documentation generation: You can now generate documentation for C++ declarators, classes and macro definitions.
Quick Documentation: Documentation now works in C++. The documentation pop-up (bound to Ctrl+Shift+F1 in the Visual Studio scheme or Ctrl+Q in the IntelliJ IDEA scheme) will display documentation from Doxygen comment blocks, or the symbol’s signature if no documentation is found.
It should be noted that this product is not free and to use it, you need to procure a license.

What happens when we run a julia-lang script?

In my understanding, julia is a script language with a JIT compiler. But in java, you can find *.class files; In python, you can find *.pyc files. This means java and python need first convert its language to bytecode, then using VM to run this bytecode. However, I can not find the bytecode files for julia like *.jlc. Any ideas?
Actually there is functionality to dump the LLVM bitcode in Julia:
See jl_dump_bitcode.
Thanks to Isiah for pointing out that it is possible to use code_llvm to read the bitcode in the interpreter.
Note that in julia_trampoline this function is used, depending on a build_path option. However this does not seem like an end-user interface to me.
In contrast to other JIT-based software like NodeJS (V8), it is however technically possible to dump the LLVM bitcode.
This is covered in the manual: http://docs.julialang.org/en/release-0.5/devdocs/eval/
Leah Hanson has written an excellent article here on the 5 steps Julia performs to get from Julia code to native Assembly code:

Resources