summary refs log blame commit diff stats
path: root/doc/tools.md
blob: 6849103f9e9e72d6a50acf75d8caa4d53975ded9 (plain) (tree)
1
2
3
4
5
6
7
8
9
                        
                        
                        
 


                          

                                                         
                                  


                                                                               
                                          

                                                                              
 
                                                 
                                                                                
                                                                                   

               
                                                                        
                                                                
 
                           

                                                                 
                           
                                   

             
                                                     
                                                         
 
                                                              
                                                                               

                                                                                        
                                                                          
                                                                             
                                                                   
========================
Tools available with Nim
========================

.. default-role:: code
.. include:: rstcommon.rst

The standard distribution ships with the following tools:

- | [Hot code reloading](hcr.html)
  | The "Hot code reloading" feature is built into the compiler but has its own
    document explaining how it works.

- | [Documentation generator](docgen.html)
  | The builtin document generator `nim doc`:cmd: generates HTML documentation
    from ``.nim`` source files.

- | [Nimsuggest for IDE support](nimsuggest.html)
  | Through the `nimsuggest`:cmd: tool, any IDE can query a ``.nim`` source file
    and obtain useful information like the definition of symbols or suggestions for
    completion.

- | [C2nim](https://github.com/nim-lang/c2nim/blob/master/doc/c2nim.rst)
  | C to Nim source converter. Translates C header files to Nim.

- | [niminst](niminst.html)
  | niminst is a tool to generate an installer for a Nim program.

- | [nimgrep](nimgrep.html)
  | Nim search and replace utility.

- | nimpretty
  | `nimpretty`:cmd: is a Nim source code beautifier,
    to format code according to the official style guide.

- | [testament](https://nim-lang.github.io/Nim/testament.html)
  | `testament`:cmd: is an advanced automatic *unittests runner* for Nim tests,
    is used for the development of Nim itself, offers process isolation for your tests,
    it can generate statistics about test cases, supports multiple targets (C, JS, etc),
    [simulated Dry-Runs](https://en.wikipedia.org/wiki/Dry_run_(testing)),
    has logging, can generate HTML reports, skip tests from a file, and more,
    so can be useful to run your tests, even the most complex ones.