summary refs log tree commit diff stats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* build atlas documentation (#22071)ringabout2023-06-111-1/+7
|
* Atlas: now in its own repository (#22066)Andreas Rumpf2023-06-101-0/+101
| | | | | * Atlas: now in its own repository * progress
* Remove Deprecated Nimfix (#22062)Juan Carlos2023-06-101-2/+1
| | | | * Remove Deprecated Nimfix * Trailing whitespace cleanups
* add const RLIMIT_STACK (#21772)Qinsi (James) ZHU2023-06-091-0/+1
| | | | | | | * add const RLIMIT_STACK * generate by detect.nim * add generated const for linux-amd64
* fixes #22025 vcc fails with The filename or extension is too long. when ↵Juan M Gómez2023-06-061-0/+5
| | | | | linking (#22026) [vcc]makes paths relative when possible fixes #22025
* Atlas: --project switch and better graph representation (#21971)Andreas Rumpf2023-06-0316-1892/+0
|
* Atlas: avoid segfault on failed Github search (#21980)Gruruya2023-06-021-1/+1
| | | | | * Atlas: avoid segfault on failed Github search * Return empty array on failed search instead of nil
* Atlas: Use copyFileWithPermissions to copy nim executable (#21967)SirOlaf2023-05-311-1/+1
| | | | | Use copyFileWithPermissions to copy nim executable Co-authored-by: SirOlaf <>
* Atlas: virtual environments (#21965)Andreas Rumpf2023-05-301-1/+78
| | | | | * Atlas: virtual environments * fixes
* Atlas: URL rewrite rules; --autoinit flag (#21963)Andreas Rumpf2023-05-302-10/+303
|
* Atlas: some final cleanups (#21947)Andreas Rumpf2023-05-281-7/+12
|
* fixes atlas logging colors on windows (#21946)ringabout2023-05-281-3/+3
| | | fixes atlas logging colors
* Atlas: checkout latest tagged commit with `atlas use` (#21944)Gruruya2023-05-281-7/+20
| | | | Now any deps with unspecified version reqs will checkout the last tagged commit instead of the first commit.
* ship atlas and build documentation (#21945)ringabout2023-05-281-140/+0
| | | | | * ship atlas and build documentation * move atlas.md and link it in tools' index
* Atlas: use colored output (#21939)Andreas Rumpf2023-05-281-38/+48
| | | | | | | * Atlas: use colored output * fixes merge conflict * another tiny improvement
* Atlas: add `atlas tag` command (#21936)Gruruya2023-05-271-4/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial structure, `GitTags` → `GitRefsTags` * Determine if we should use v prefix * get tag from latest tag, patch nimble file * Just do tags for now * atlas tag now tags and pushes * Improve UX of `atlas tag` * better description for `tag` * Small fixup * Consistent naming * strip after checking status * Take major/minor/patch as arg for `atlas tag` * undo testing comment * Fix for `v` prefixed versions * Avoid useless assignment * Remove uselss enum assignment * Consistent parameter seperation * Add error handling for non-semver tags * Use `assert` to quit on error * Update tools/atlas/atlas.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de> * Don't push tags if errors occurred * Allow `atlas tag [tag]` again * Add atlas tag `a..z` for fields > 3 * Document the three input options * Take up less lines in help * Less or in help * One last doc pass * Check args length * clarify last tag * consistency/order --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Atlas: explicit graph representation (#21937)Andreas Rumpf2023-05-271-28/+55
|
* Atlas: fixes 'use' command (#21932)Andreas Rumpf2023-05-272-53/+43
| | | | | * Atlas: fixes 'use' command * Atlas: refactoring + make tests green again
* Atlas: clone with `--recursive` (#21933)Gruruya2023-05-271-1/+1
|
* atlas: search improvements (#21929)Gruruya2023-05-272-5/+8
| | | | | | | | | * Get description and license from github json response * Allow running `atlas search` outside of a workspace * Check `len` instead of `dirExists` * make `list` identical to `search`
* atlas: better code (#21926)Andreas Rumpf2023-05-261-16/+12
|
* Fix Nimgrab (#21918)Juan Carlos2023-05-261-3/+10
| | | | | | | | | * . * Fix nimgrab client not closing * Fix nimgrab client not closing * Fix nimgrab client not closing
* Atlas: Actually use deps for use command (#21922)SirOlaf2023-05-261-2/+1
| | | Co-authored-by: SirOlaf <>
* Atlas: misc (#21919)Andreas Rumpf2023-05-262-25/+34
| | | | | * Atlas: misc * Atlas: use the lockfile if one exists
* atlas: better docs (#21911)Andreas Rumpf2023-05-252-76/+156
| | | | | | | | | * atlas: better docs * better workspace/project handling * make tests green again * bugfix
* Atlas: added 'use' command (#21902)Andreas Rumpf2023-05-242-7/+104
| | | | | * Atlas: added 'use' command * typo
* Atlas: first lockfiles implementation; cleared up upated vs updateWor… ↵Andreas Rumpf2023-05-232-13/+81
| | | | | (#21895) Atlas: first lockfiles implementation; cleared up upated vs updateWorkspace commands
* minor atlas improvements (#21888)Andreas Rumpf2023-05-232-19/+68
| | | | | * minor atlas improvements * atlas: support a _deps workspace subdirectory
* Atlas tool: search github too, no need to register your project at pa… ↵Andreas Rumpf2023-05-223-6/+55
| | | | | | | (#21884) * Atlas tool: search github too, no need to register your project at packages.json * added missing file
* clean up SOME pending/xxx/issue link comments (#21826)metagn2023-05-111-8/+3
| | | | | * clean up SOME pending/xxx/issue link comments * great
* build documentation for `checksums/md5` and `checksums/sha1` (#21791)ringabout2023-05-041-1/+5
| | | | | * build documentation for md5 and sha1 * fixes documentation reference
* fixes #19863; move sha1, md5 to nimble packages for 2.0 (#21702)ringabout2023-05-022-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * move sha1, md5 to nimble packages * boot the compiler * fixes tests * build the documentation * fixes docs * lol, I forgot koch.nim * add `nimHasChecksums` define * clone checksums but maybe copying is better * bump nimble hash * use ChecksumsStableCommit * fixes tests * deprecate them * fixes paths * fixes koch
* atlas tool: 'update' command (#21557)Andreas Rumpf2023-03-212-3/+36
|
* Update LLDB debug script + Add Custom Nim formatters (#21517)Joey2023-03-192-350/+763
| | | | | | | | | * Fix custom objects, fix handling of nil variables * Rename because lldb complains about dashes in filename * Add example of how to use custom type formatting from Nim * Add synthetic objects with dynamic fields and add an example
* fixes #21461 (#21463)Arnaud Moura2023-03-032-0/+1039
| | | | | * fixes #21461; Move nim-gdb.py and add nim-lldb.py * fixes bad path for nim-gdb.py
* Support tuples in nim-gdb (#21410)Jake Leahy2023-02-211-3/+22
| | | | | | | | | * Support for printing tuple types * Add test of printing a tuple * Add support for printing tuples in GDB * Forgot to [skip ci]
* Support new runtime with nim-gdb (#21400)Jake Leahy2023-02-201-257/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for orc strings * Cleaned up testing script Enums now printing properly Merged both old and new strings into the one printer Moving onto sets which seem kinda difficult * Sets working Instead of trying to imitate how Nim represents enums, I just call the dollar proc for each enum value While this runs into problems if the user doesn't call the dollar proc anywhere, I believe its a decent tradeoff I've cleaned up the error message for when it cannot find dollar proc (Might add in proper message on how to fix) * Support sequences V2 runtime seems to have sequences that don't have a len (Guessing its some kind of short seq optimisation?) but I've rolled the implementation into normal sequences since the implementation is practically the same * Clean up test program so it isn't using diff Also don't redirect the first nim compile to /dev/null so that we can check for any compilation errors I found the diff to be annoying to read (Seeing as the test script already performs diffing) * Tables are now supported * Add colours to test output It was getting difficult to tell apart test output from GDB output so I added colour to better tell them apart * Both old and new runtime are working Set exit code in python test script so that this could possibly be added to the CI. Only issue is that it can be flaky (GDB crashes randomly for some reason) * Remove old code that was commented out If I need it later I'll just use git * Remove branch that never runs * Remove the old test output [skip ci]
* Adds an extra optional argument to vcc: `vctoolset` Fixes #21335 (#21336)Juan M Gómez2023-02-092-5/+17
|
* docgen: implement cross-document links (#20990)Andrey Makarov2023-01-041-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * docgen: implement cross-document links Fully implements https://github.com/nim-lang/RFCs/issues/125 Follow-up of: https://github.com/nim-lang/Nim/pull/18642 (for internal links) and https://github.com/nim-lang/Nim/issues/20127. Overview -------- Explicit import-like directive is required, called `.. importdoc::`. (the syntax is % RST, Markdown will use it for a while). Then one can reference any symbols/headings/anchors, as if they were in the local file (but they will be prefixed with a module name or markup document in link text). It's possible to reference anything from anywhere (any direction in `.nim`/`.md`/`.rst` files). See `doc/docgen.md` for full description. Working is based on `.idx` files, hence one needs to generate all `.idx` beforehand. A dedicated option `--index:only` is introduced (and a separate stage for `--index:only` is added to `kochdocs.nim`). Performance note ---------------- Full run for `./koch docs` now takes 185% of the time before this PR. (After: 315 s, before: 170 s on my PC). All the time seems to be spent on `--index:only` run, which takes almost as much (85%) of normal doc run -- it seems that most time is spent on file parsing, turning off HTML generation phase has not helped much. (One could avoid it by specifying list of files that can be referenced and pre-processing only them. But it can become error-prone and I assume that these linke will be **everywhere** in the repository anyway, especially considering https://github.com/nim-lang/RFCs/issues/478. So every `.nim`/`.md` file is processed for `.idx` first). But that's all without significant part of repository converted to cross-module auto links. To estimate impact I checked the time for `doc`ing a few files (after all indexes have been generated), and everywhere difference was **negligible**. E.g. for `lib/std/private/osfiles.nim` that `importdoc`s large `os.idx` and hence should have been a case with relatively large performance impact, but: * After: 0.59 s. * Before: 0.59 s. So Nim compiler works so slow that doc part basically does not matter :-) Testing ------- 1) added `extlinks` test to `nimdoc/` 2) checked that `theindex.html` is still correct 2) fixed broken auto-links for modules that were derived from `os.nim` by adding appropriate ``importdoc`` Implementation note ------------------- Parsing and formating of `.idx` entries is moved into a dedicated `rstidx.nim` module from `rstgen.nim`. `.idx` file format changed: * fields are not escaped in most cases because we need original strings for referencing, not HTML ones (the exception is linkTitle for titles and headings). Escaping happens later -- on the stage of `rstgen` buildIndex, etc. * all lines have fixed number of columns 6 * added discriminator tag as a first column, it always allows distinguish Nim/markup entries, titles/headings, etc. `rstgen` does not rely any more (in most cases) on ad-hoc logic to determine what type each entry is. * there is now always a title entry added at the first line. * add a line number as 6th column * linkTitle (4th) column has a different format: before it was like `module: funcName()`, now it's `proc funcName()`. (This format is also propagated to `theindex.html` and search results, I kept it that way since I like it more though it's discussible.) This column is what used for Nim symbols resolution. * also changed details on column format for headings and titles: "keyword" is original, "linkTitle" is HTML one * fix paths on Windows + more clear code * Update compiler/docgen.nim Co-authored-by: Andreas Rumpf <rumpf_a@web.de> * Handle .md and .nim paths uniformly in findRefFile * handle titles better + more comments * don't allow markup overwrite index title for .nim files Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixes warnings when building csources (#21194)ringabout2022-12-281-6/+6
| | | | | * replace `symbolfiles` with `incremental`; fixes warnings when build csources * fixes self conversion warnings
* atlas: minor doc improvements (#21183)Andreas Rumpf2022-12-271-1/+5
| | | | | * closes #20808 * atlas: better docs
* Make search results be relative to documentation root (#21145)Jake Leahy2022-12-231-18/+30
| | | Use Nim instead of JS for searching
* ucpu fix-up for arm64 value on macos m1 (#21142)Luca Guzzon2022-12-201-0/+3
|
* csource building prefers `bin/nim` (#21115)ringabout2022-12-161-2/+13
|
* build the documentation of official packages (#20986)ringabout2022-12-062-17/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * remove db stuffs * remove punycode * remove * fixes script * add cloner * patches * disable * patch * fixes external packages * disable two packages * preview documentation build * try again * fixes URL * fixes a bug * simplify * fixes documentaion * fixes * Apply suggestions from code review
* Add HPPA and sparc64 architectures (#20934)Federico Ceratto2022-12-011-0/+7
| | | | | | | | | | | * Add comments on CPU arch detection * Support HPPA/hppa/parisc64 CPU architecture * Support sparc64 CPU architecture * Update tools/niminst/makefile.nimf Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Support IBM Z architecture (#20943)Federico Ceratto2022-11-281-0/+3
|
* Handle ppc CPU architecture (#20920)Federico Ceratto2022-11-261-1/+1
| | | | | | | | | | * Remove confusing "ppc" block The PowerPC arch is called "powerpc" in platforms.nim The makefile shipped in release 1.6.10 populates the oFiles variable when myos=linux and mycpu=powerpc mycpu=ppc instead leads to ``no C code generated for: [linux: ppc]. Stop`` * Handle ucpu=ppc
* koch remove dead code (#20912)Juan Carlos2022-11-251-9/+2
| | | | | | | * koch remove dead code for Travis CI * Restart CI * Restart CI
* Fix #14476 (#20878)Jake Leahy2022-11-211-1/+1
| | | | | | | * Use link from webpage. Closes #14476 * Update doc generation tests * Update RST test