noogle/codemod
2024-08-01 10:52:15 +02:00
..
src clean unsed code 2024-03-16 22:23:34 +01:00
test_data tests: add expect test for codemod 2024-03-15 16:13:04 +00:00
.envrc redesign with subpages 2024-01-07 17:20:35 +01:00
.gitignore redesign with subpages 2024-01-07 17:20:35 +01:00
Cargo.lock redesign with subpages 2024-01-07 17:20:35 +01:00
Cargo.toml redesign with subpages 2024-01-07 17:20:35 +01:00
flake-module.nix Fix: avoid /doc removed from nixpkgs source 2024-08-01 10:52:15 +02:00
README.md redesign with subpages 2024-01-07 17:20:35 +01:00

Doc-comments Codemod

A simple codemod based on rnix. It migrates all comments automatically into the new markdown format.

Features

  • Fully automatic.
  • Changes all files from all directories (if needed).
  • Markdown output.
  • Re-aligns the indentation.

Example

input

  /* Throw if pred is false, else return pred.
     Intended to be used to augment asserts with helpful error messages.

     Example:
       assertMsg false "nope"
       stderr> error: nope
           
       assert assertMsg ("foo" == "bar") "foo is not bar, silly"; ""
       stderr> error: foo is not bar, silly

     Type:
       assertMsg :: Bool -> String -> Bool
  */
  assertMsg =

->

output

  /**
    Throw if pred is false, else return pred.
    Intended to be used to augment asserts with helpful error messages.

    # Example

    ```nix
    assertMsg false "nope"
               stderr> error: nope
    
               assert assertMsg ("foo" == "bar") "foo is not bar, silly"; ""
               stderr> error: foo is not bar, silly
    ```

    # Type

    ```
    assertMsg :: Bool -> String -> Bool
    ```
  */
  assertMsg =

Development

Enter the devshell

nix develop .#codemod