summary refs log tree commit diff stats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* documents codegendecl for object types (#21811)Juan M Gómez2023-05-081-2/+25
|
* Document about size pragma (#21794)Tomohiro2023-05-061-0/+31
| | | | | | | | | | | | | * Document about size pragma * Fix typos * Fix manual.md * Update doc/manual.md --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Update the Nim Manual compile pragma with the second tuple form (#21773)Daniel Belmes2023-05-051-0/+6
| | | | | * Update the nim manual compile pragma with the second tuple form of * Incorrectly put 'two' forms
* closes #21771; fixes the link (#21777)ringabout2023-05-031-1/+1
| | | closes #21771
* fixes #21245; warn about destructors that can raise (#21726)Andreas Rumpf2023-04-261-3/+11
| | | | | | | | | * fixes #21245; warn about destructors that can raise * doc update * progress * typo
* documents #21628 (#21723)Juan M Gómez2023-04-241-0/+29
| | | | | | | | | * documents #21628 * Update doc/manual.md --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* alias syntax fixes, improvements and tests (#21671)metagn2023-04-221-10/+7
| | | | | | | | | | | | | * alias syntax fixes, improvements and tests * even better, cannot use alias syntax with generics * more type tests, improve comment * fix again * consistent error message + make t5167_5 work * more comments, remove {.noalias.}
* Documented path substitution by compiler (#21662)Raynei2023-04-212-0/+13
| | | Document compiler path substitution (nim-lang#19928)
* warn on set types bigger than max size, default to 0..255 for int literals ↵metagn2023-04-171-3/+6
| | | | | | | | | | | | | | | | | | | (#21659) * test implicitly huge set types refs https://github.com/nim-lang/RFCs/issues/298 * oh my god * boot at least * don't error, fix remaining issues, no 2 len arrays * fix runnable example * test assuming 0..255 for int literal * test refactor, add changelog, test
* Update nim 2.0 documentation for docgen & nimgrep (#21665)Andrey Makarov2023-04-172-31/+59
| | | | | | | | | | | | | * Update nim 2.0 documentation for docgen & nimgrep * [skip ci] Update changelogs/changelog_2_0_0.md Co-authored-by: Andreas Rumpf <rumpf_a@web.de> * [skip ci] expand section on Markdown migration and `doctype` --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* make grammar a bit more honest (#21655)metagn2023-04-141-9/+10
| | | | | | | | | | | * test if expr parsing expr refs #19802 * in any case * just be honest * fix symbol/keyword issue too
* int64/uint64 as bigint in JS (#21613)metagn2023-04-111-0/+2
| | | | | | | | | | | * int64/uint64 as bigint in JS * fix CI * convert to compile option * fix lie * smaller diff, changelog entry
* `proc` typeclass accounts for `iterator`, call conventions + `nil` fix + ↵metagn2023-04-112-3/+46
| | | | | | | | | | | | | document typeclass AST (#21629) * test fix #16546 #16548 + another issue * please don't tell me other packages do this * fix CI + test typeclass callconv pragma * better logic in parser * docs and changelog
* remove useVersion (#21626)metagn2023-04-081-1/+0
| | | test removing useVersion
* warn against `a, b = val` in routine arguments (#21604)metagn2023-04-061-9/+0
| | | closes https://github.com/nim-lang/RFCs/issues/480
* Remove the "This module" suffix and reword some entries from the stdlib ↵Yardanico2023-03-301-107/+97
| | | | | overview (#21580) Remove a lot of "This module x" and reword some entries
* document general use of `_`, error message, fixes (#21584)metagn2023-03-301-0/+13
| | | | | | | | | | | | * document general use of `_`, error message, fixes fixes #20687, fixes #21435 Documentation and changelog updated to clarify new universal behavior of `_`. Also new error message for attempting to use `_`, new tests, and fixes with overloadable symbols and implicit generics. * add test for #21435
* tuple unpacking for vars as just sugar, allowing nesting (#21563)metagn2023-03-282-3/+33
| | | | | | | | | | | | | | | | | | | * tuple unpacking for vars as just sugar, allowing nesting * set temp symbol AST * hopeful fix some issues, add test for #19364 * always use temp for consts * document, fix small issue * fix manual indentation * actually fix manual * use helper proc * don't resem temp tuple assignment
* Docs: Mention Source Code Filters in `lib/String handling` (#21570)Zoom2023-03-281-1/+3
| | | | | Mention Source Code Filters in `String handling` ...as a viable solution for templating
* closes #21536; fixes manual (#21552)ringabout2023-03-201-2/+2
| | | fixes manual
* Add NuttX for thread stack size doc (#21529)Hiroki Noda2023-03-161-1/+1
|
* fixes sinkinference documentation, which has been disabled (#21470)ringabout2023-03-121-1/+1
| | | since https://github.com/nim-lang/Nim/pull/15105
* fixes #21461 (#21463)Arnaud Moura2023-03-031-1/+1
| | | | | * fixes #21461; Move nim-gdb.py and add nim-lldb.py * fixes bad path for nim-gdb.py
* replaces implicit passes array registed at runtime with explicit function ↵ringabout2023-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calls; simplify compilation pipeline (#21444) * abolish using passes in the compiler; simplify compilation pipeline * duplicate code * Really cool to have the same signature... * haul * unify other backends * refactor process * introduce PipelinePhase * refactor compiler * fixes passes * fixes nimsuggest * add a sentinel * enable docs checkj * activate doc testing * clean up * complete cleanups
* fixes #19291; implements `wasMoved` hook (#21303)ringabout2023-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fixes #19291; implements `wasMoved` hook * basics * checkpoint * finish `wasMoved` * add a test for #19291 * add documentation and changelog * work `attachedWasMoved` with generics * fixes optimizer * register `=wasMoved` * handle wasMoved magcis * check another round * some patches * try `op == nil` * nicer * generate `wasMoved` before `destroy` * try again * fixes tests * default wasMoved * Update tests/destructor/tv2_cast.nim * Update tests/destructor/tv2_cast.nim * Update tests/arc/topt_refcursors.nim
* Mitigate issues related to compiler options when cross-compiling (#21330)Francis Thérien2023-02-221-3/+5
| | | | | * Document C compiler options config when cross-compiling * Allow empty string to override default
* Fix a couple of small keyword issues. (#21416)Benji York2023-02-221-2/+2
| | | In this section of the manual, "if" should be enclosed in backticks and "elif" should be lower case.
* Change the default stdlib location for Linux packaging (#21328)Gabriel Huber2023-02-121-2/+5
| | | | | * Correctly evaluate the Nim prefix on Posix * Document new packaging layout
* nimgrep: fix typo (#21337)Ikko Eltociear Ashimine2023-02-071-1/+1
| | | occurences -> occurrences
* fixes #19396; Nimdoc hide nonexported fields (#21305)ringabout2023-02-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * suppresses non-exported fields of types and adds command-line option to re-enable this if desired * corrected the doctest that produced a CI error * an embarrassingly bad error in reasoning * modified a nimdoc test to reflect updated behavior * needed another change to bring utils.html doctest in sync with update * add info * fix nimdoc * lint * render postfix * fixes a problem * fixes nimdoc * fix nimdoc --------- Co-authored-by: johnperry-math <john.perry@usm.edu> Co-authored-by: johnperry-math <devotus@yahoo.com>
* Update nims.md to use `nim e` instead of `nim` in advanced shebang (#21301)Heechul Ryu2023-01-261-1/+1
| | | | | | Update nims.md - suggest a better shebang that works with any filename - related to https://github.com/nim-lang/Nim/issues/17190
* add `md2html`, `md2tex` to cmd helpers (#21295)ringabout2023-01-241-0/+3
|
* testament: make valgrind optional (#21238)Anna2023-01-111-0/+1
| | | Add a simple switch to enable/disable valgrind support. On by default
* docgen: implement cross-document links (#20990)Andrey Makarov2023-01-043-36/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* make it printer friendly (#21218)Bung2023-01-041-0/+9
|
* fix #19580; add warning for bare except: clause (#21099)ringabout2022-12-152-13/+11
| | | | | | | | | | | | | | | | | | | | | * fix #19580; add warning for bare except: clause * fixes some easy ones * Update doc/manual.md * fixes docs * Update changelog.md * addition * Apply suggestions from code review Co-authored-by: Jacek Sieka <arnetheduck@gmail.com> * Update doc/tut2.md Co-authored-by: Jacek Sieka <arnetheduck@gmail.com>
* generic `define` pragma + string alias (#20979)metagn2022-12-132-0/+41
| | | | | | | | | * generic `define` pragma + string alias * clean * add tests and document * remove char/float, minimize changelog
* alternative, much simpler algorithm for strict func checking (#21066)Andreas Rumpf2022-12-111-10/+6
| | | | | | | | | | | | | * alternative, much simpler algorithm for strict func checking * forgot to git add new compiler module * new spec is incredibly simple to describe * fixes bigints regression * typos * closes #16305; closes #17387; closes #20863
* clean up the documentation of threads (#21067)ringabout2022-12-101-12/+1
| | | | | * clean up the documentation of threads * cleanup
* fix issue #20922 by handling missing expr in `exprList` for `tkOf` (#20930)Vindaar2022-12-081-3/+4
| | | | | | | | | | | | | | | | | | * fix issue #20922 by handling missing expr in `exprList` for `tkOf` * fix line numbers in test case * rewrite exprList requiring expr, add optionalExprList for except As suggested by @metagn. * update test case to reflect new code * update grammar.txt * update line numbers in test case taking into account nimout Given the number of errors that are produced it seems easier to do it this way instead of using `tt.Error`.
* Mention toSet in the docs of the set type (#21037)Xavier Noria2022-12-081-0/+8
|
* fixes #16656; add nre to lib.md (#21042)ringabout2022-12-081-0/+4
|
* fixes `strictnotnil` documentation; comment unfinished sections (#21041)ringabout2022-12-081-6/+9
| | | fixes documentation; comment unfinished sections
* build the documentation of official packages (#20986)ringabout2022-12-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Named arguments in commands + many grammar fixes (#20994)metagn2022-12-061-21/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Breaking parser changes, implement https://github.com/nim-lang/RFCs/issues/442 Types are separated from expressions and better reflected in the grammar. * add test * more accurate grammar * fix keyword typedescs * accept expressions in proc argument lists * CI "fixes" * fixes * allow full ref expressions again, adapt old tests * cleanup, fix some tests * improve grammar, try and revert semtypes change * restrict sigil binding to identOrLiteral * fix, should have caught this immediately * add changelog entry, fix double not nil bug * correct grammar * change section * fix * real fix hopefully * fix test * support LL(1) for tuples * make grammar.txt too
* definite assignment analysis for let (#21024)ringabout2022-12-061-0/+14
| | | | | | | | | | | | | | | | | | | * draft for let daa * patch * fixes bugs * errors for global let variable reassignments * checkpoint * out param accepts let * add more tests * add documentation * merge tests
* stdlib organization & documentation improvements (#20971)metagn2022-12-062-40/+133
| | | | | | | | | | | | | | | | | * stdlib organization & documentation improvements * fix CI * Update doc/lib.md Co-authored-by: Juan Carlos <juancarlospaco@gmail.com> * fix ci, remove jshttpcore, export in jsfetch instead * fix alphabetical order violations * add cmdline, db_odbc Co-authored-by: Juan Carlos <juancarlospaco@gmail.com>
* Add: missing nintendo-switch define (#21009)Dmitry Arkhipenko2022-12-051-0/+1
|
* better procvar ambiguity errors, clean up after #20457 (#20932)metagn2022-12-011-0/+17
| | | | | | | | | | | | | | | * better procvar ambiguity errors, clean up after #20457 fixes #6359, fixes #13849 * only trigger on closedsymchoice again * new approach * add manual entry for ambiguous enums too * add indent [skip ci] * move to proc
* move `smtp` to nimble packages (#20953)ringabout2022-11-301-3/+0
| | | | | | | | | * move `smtp` to nimble packages * fixes * install smtp * yes