{
  "_id": "6a49c39ffbe299ac63d6c222",
  "Package": "fansi",
  "Title": "ANSI Control Sequence Aware String Functions",
  "Description": "Counterparts to R string manipulation functions that\naccount for the effects of ANSI text formatting control\nsequences.",
  "Version": "1.0.7",
  "Authors@R": "c(\nperson(\"Brodie\", \"Gaslam\", email=\"brodie.gaslam@yahoo.com\",\nrole=c(\"aut\", \"cre\")),\nperson(\"Elliott\", \"Sales De Andrade\", role=\"ctb\"),\nperson(given=\"R Core Team\",\nemail=\"R-core@r-project.org\", role=\"cph\",\ncomment=\"UTF8 byte length calcs from src/util.c\"\n),\nperson(\"Michael\",\"Chirico\", role=\"ctb\",\nemail=\"michaelchirico4@gmail.com\", comment = c(ORCID=\"0000-0003-0787-087X\")\n),\nperson(given = \"Unicode, Inc.\",\nrole = c(\"cph\", \"dtc\"),\ncomment = \"Unicode Character Database derivative data in src/width.c\")\n)",
  "License": "GPL-2 | GPL-3",
  "URL": "https://github.com/brodieG/fansi",
  "BugReports": "https://github.com/brodieG/fansi/issues",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.3.3",
  "Roxygen": "list(markdown = TRUE, load = \"installed\")",
  "Encoding": "UTF-8",
  "Collate": "'constants.R' 'fansi-package.R' 'internal.R' 'load.R' 'misc.R'\n'nchar.R' 'strwrap.R' 'strtrim.R' 'strsplit.R' 'substr2.R'\n'trimws.R' 'tohtml.R' 'unhandled.R' 'normalize.R' 'sgr.R'",
  "Repository": "https://brodieg.r-universe.dev",
  "Date/Publication": "2025-11-19 19:40:19 UTC",
  "RemoteUrl": "https://github.com/brodieg/fansi",
  "RemoteRef": "HEAD",
  "RemoteSha": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-17 08:53:52 UTC",
    "User": "root"
  },
  "Author": "Brodie Gaslam [aut, cre],\nElliott Sales De Andrade [ctb],\nR Core Team [cph] (UTF8 byte length calcs from src/util.c),\nMichael Chirico [ctb] (ORCID: <https://orcid.org/0000-0003-0787-087X>),\nUnicode, Inc. [cph, dtc] (Unicode Character Database derivative data in\nsrc/width.c)",
  "Maintainer": "Brodie Gaslam <brodie.gaslam@yahoo.com>",
  "_user": "brodieg",
  "_type": "src",
  "_file": "fansi_1.0.7.tar.gz",
  "_fileid": "https://r2.ropensci.org/bed2119c159e0a3340f8ae10bae7dfbd443bc3248c8d0102dc12a511c2f6d617",
  "_filesize": 961025,
  "_sha256": "bed2119c159e0a3340f8ae10bae7dfbd443bc3248c8d0102dc12a511c2f6d617",
  "_expires": "2026-10-13T02:38:21.000Z",
  "_created": "2026-06-17T08:53:52.000Z",
  "_published": "2026-07-05T02:38:23.412Z",
  "_jobs": [
    {
      "job": 85186410329,
      "time": 123,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7690574805"
    },
    {
      "job": 85186410266,
      "time": 121,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7690573286"
    },
    {
      "job": 85186410260,
      "time": 128,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7690575361"
    },
    {
      "job": 85186410340,
      "time": 126,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7690574778"
    },
    {
      "job": 85186410311,
      "time": 199,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7690584055"
    },
    {
      "job": 85186410325,
      "time": 367,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7690654784"
    },
    {
      "job": 85186410339,
      "time": 202,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7690588802"
    },
    {
      "job": 85186410219,
      "time": 312,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7690630218"
    },
    {
      "job": 85186410094,
      "time": 162,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7690527203"
    },
    {
      "job": 85186410292,
      "time": 93,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7690562051"
    },
    {
      "job": 85186410227,
      "time": 113,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7690571455"
    },
    {
      "job": 85186410304,
      "time": 102,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7690566180"
    },
    {
      "job": 85186410291,
      "time": 103,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7690565652"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625",
  "_status": "success",
  "_upstream": "https://github.com/brodieg/fansi",
  "_commit": {
    "id": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
    "author": "brodieG <brodieG@users.noreply.github.com>",
    "committer": "brodieG <brodieG@users.noreply.github.com>",
    "message": "v1.0.7 CRAN MTN release\n",
    "time": 1763581219
  },
  "_maintainer": {
    "name": "Brodie Gaslam",
    "email": "brodie.gaslam@yahoo.com",
    "login": "brodieg",
    "description": "Hobbyist programmer based on the East Coast of the USA.  Interested in data analysis and visualization.",
    "uuid": 6105908
  },
  "_distro": "noble",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.1.0",
      "role": "Depends"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "unitizer",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "brodieg",
  "_selfowned": true,
  "_usedby": 207,
  "_updates": [
    {
      "week": "2025-47",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v1.0.7",
      "date": "2025-11-19"
    }
  ],
  "_topics": [
    "string-manipulation"
  ],
  "_stars": 55,
  "_contributors": [
    {
      "user": "brodieg",
      "count": 1538,
      "uuid": 6105908
    },
    {
      "user": "michaelchirico",
      "count": 3,
      "uuid": 7606389
    },
    {
      "user": "qulogic",
      "count": 1,
      "uuid": 302469
    }
  ],
  "_userbio": {
    "uuid": 6105908,
    "type": "user",
    "name": "Brodie Gaslam",
    "followers": 180,
    "description": "Hobbyist programmer based on the East Coast of the USA.  Interested in data analysis and visualization."
  },
  "_downloads": {
    "count": 209438,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/fansi"
  },
  "_devurl": "https://github.com/brodieg/fansi",
  "_searchresults": 591,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/fansi.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/brodieg/fansi",
  "_realowner": "brodieg",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.1",
      "date": "2018-03-28"
    },
    {
      "version": "0.2.2",
      "date": "2018-03-31"
    },
    {
      "version": "0.2.3",
      "date": "2018-05-06"
    },
    {
      "version": "0.3.0",
      "date": "2018-08-13"
    },
    {
      "version": "0.4.0",
      "date": "2018-10-05"
    },
    {
      "version": "0.4.1",
      "date": "2020-01-09"
    },
    {
      "version": "0.4.2",
      "date": "2021-01-15"
    },
    {
      "version": "0.5.0",
      "date": "2021-05-25"
    },
    {
      "version": "1.0.0",
      "date": "2022-01-10"
    },
    {
      "version": "1.0.2",
      "date": "2022-01-15"
    },
    {
      "version": "1.0.3",
      "date": "2022-03-24"
    },
    {
      "version": "1.0.4",
      "date": "2023-01-22"
    },
    {
      "version": "1.0.5",
      "date": "2023-10-08"
    },
    {
      "version": "1.0.6",
      "date": "2023-12-08"
    },
    {
      "version": "1.0.7",
      "date": "2025-11-19"
    }
  ],
  "_exports": [
    "close_state",
    "dflt_css",
    "dflt_term_cap",
    "fansi_lines",
    "fansi_unicode_version",
    "fwl",
    "has_ctl",
    "has_sgr",
    "html_code_block",
    "html_esc",
    "in_html",
    "make_styles",
    "nchar_ctl",
    "nchar_sgr",
    "normalize_state",
    "nzchar_ctl",
    "nzchar_sgr",
    "set_knit_hooks",
    "sgr_256",
    "sgr_to_html",
    "state_at_end",
    "strip_ctl",
    "strip_sgr",
    "strsplit_ctl",
    "strsplit_sgr",
    "strtrim_ctl",
    "strtrim_sgr",
    "strtrim2_ctl",
    "strtrim2_sgr",
    "strwrap_ctl",
    "strwrap_sgr",
    "strwrap2_ctl",
    "strwrap2_sgr",
    "substr_ctl",
    "substr_ctl<-",
    "substr_sgr",
    "substr2_ctl",
    "substr2_ctl<-",
    "substr2_sgr",
    "tabs_as_spaces",
    "term_cap_test",
    "to_html",
    "trimws_ctl",
    "unhandled_ctl"
  ],
  "_help": [
    {
      "page": "dflt_term_cap",
      "title": "Default Arg Helper Funs",
      "topics": [
        "dflt_css",
        "dflt_term_cap"
      ]
    },
    {
      "page": "fansi",
      "title": "Details About Manipulation of Strings Containing Control Sequences",
      "topics": [
        "fansi-package",
        "fansi"
      ]
    },
    {
      "page": "fansi_lines",
      "title": "Colorize Character Vectors",
      "topics": [
        "fansi_lines"
      ]
    },
    {
      "page": "fansi_unicode_version",
      "title": "Report Unicode Database Version In-use",
      "topics": [
        "fansi_unicode_version"
      ]
    },
    {
      "page": "has_ctl",
      "title": "Check for Presence of Control Sequences",
      "topics": [
        "has_ctl"
      ]
    },
    {
      "page": "html_code_block",
      "title": "Format Character Vector for Display as Code in HTML",
      "topics": [
        "html_code_block"
      ]
    },
    {
      "page": "html_esc",
      "title": "Escape Characters With Special HTML Meaning",
      "concept": [
        "HTML functions"
      ],
      "topics": [
        "html_esc"
      ]
    },
    {
      "page": "in_html",
      "title": "Frame HTML in a Web Page And Display",
      "concept": [
        "HTML functions"
      ],
      "topics": [
        "in_html"
      ]
    },
    {
      "page": "make_styles",
      "title": "Generate CSS Mapping Classes to Colors",
      "concept": [
        "HTML functions"
      ],
      "topics": [
        "make_styles"
      ]
    },
    {
      "page": "nchar_ctl",
      "title": "Control Sequence Aware Version of nchar",
      "topics": [
        "nchar_ctl",
        "nzchar_ctl"
      ]
    },
    {
      "page": "normalize_state",
      "title": "Normalize CSI and OSC Sequences",
      "topics": [
        "normalize_state"
      ]
    },
    {
      "page": "set_knit_hooks",
      "title": "Set an Output Hook Convert Control Sequences to HTML in Rmarkdown",
      "topics": [
        "set_knit_hooks"
      ]
    },
    {
      "page": "sgr_256",
      "title": "Show 8 Bit CSI SGR Colors",
      "topics": [
        "sgr_256"
      ]
    },
    {
      "page": "state_at_end",
      "title": "Utilities for Managing CSI and OSC State In Strings",
      "topics": [
        "close_state",
        "state_at_end"
      ]
    },
    {
      "page": "strip_ctl",
      "title": "Strip Control Sequences",
      "topics": [
        "strip_ctl"
      ]
    },
    {
      "page": "strsplit_ctl",
      "title": "Control Sequence Aware Version of strsplit",
      "topics": [
        "strsplit_ctl"
      ]
    },
    {
      "page": "strtrim_ctl",
      "title": "Control Sequence Aware Version of strtrim",
      "topics": [
        "strtrim2_ctl",
        "strtrim_ctl"
      ]
    },
    {
      "page": "strwrap_ctl",
      "title": "Control Sequence Aware Version of strwrap",
      "topics": [
        "strwrap2_ctl",
        "strwrap_ctl"
      ]
    },
    {
      "page": "substr_ctl",
      "title": "Control Sequence Aware Version of substr",
      "topics": [
        "substr2_ctl",
        "substr2_ctl<-",
        "substr_ctl",
        "substr_ctl<-"
      ]
    },
    {
      "page": "tabs_as_spaces",
      "title": "Replace Tabs With Spaces",
      "topics": [
        "tabs_as_spaces"
      ]
    },
    {
      "page": "term_cap_test",
      "title": "Test Terminal Capabilities",
      "topics": [
        "term_cap_test"
      ]
    },
    {
      "page": "to_html",
      "title": "Convert Control Sequences to HTML Equivalents",
      "concept": [
        "HTML functions"
      ],
      "topics": [
        "to_html"
      ]
    },
    {
      "page": "trimws_ctl",
      "title": "Control Sequence Aware Version of trimws",
      "topics": [
        "trimws_ctl"
      ]
    },
    {
      "page": "unhandled_ctl",
      "title": "Identify Unhandled Control Sequences",
      "topics": [
        "unhandled_ctl"
      ]
    }
  ],
  "_readme": "https://github.com/brodieg/fansi/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "sgr-in-rmd.Rmd",
      "filename": "sgr-in-rmd.html",
      "title": "ANSI CSI SGR Sequences in Rmarkdown",
      "author": "Brodie Gaslam",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Browsers Do Not Interpret ANSI CSI SGR Sequences",
        "Automatically Convert ANSI CSI SGR to HTML"
      ],
      "created": "2018-08-12 16:07:32",
      "modified": "2022-01-10 01:00:22",
      "commits": 3
    }
  ],
  "_score": 12.626097252541843,
  "_indexed": true,
  "_nocasepkg": "fansi",
  "_universes": [
    "brodieg"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:56.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/5e8ab5fd0a04eecce2eb050a2fa088553fecfd1ead9f71ae5c63455ae663f3e6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:48.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/f077df9bfe7517c61997edcf60b76e5b3a02291d71cdf8680c2332da20dd91bc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:57.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/b76a6c65dddb21d35362cc9785496d992ebd4fe13d2b2121e7a61657515b5053",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:50.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/0243589649773c1cea9aae9ac1adfdca5ac6482f22fc9a64ea7b648299276c04",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-06-17T08:56:20.000Z",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/910a0833afbdb9e8ee54882f7c6470fe90789e35e6d5cf5d47adb7fedb2812da",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-06-17T08:58:52.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/f7c7b346042cef8d5ed6fe61da14eee880a88c00883d0f2f166d3194d9148f3f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-06-17T08:56:23.000Z",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/555214110329cfca9fe4b721f36fa6011d9d2ff25aad506c0860129125a1f361",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-06-17T08:57:52.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/80f8a526c558858449fcb2ceb370b00059680a2d79039c027b9cca62cdfa0041",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:42.000Z",
      "arch": "emscripten",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/b9c64b44f5b92521c96c99d5f81f3ef80d07eba80029cb7fc0b6ec5a45139e8f",
      "status": "success",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:22.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/1003ca4aa13b8ecedc28701f705980f9297673478691cbd2ffbc2b01ddd6f6dd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:06.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/804d33b1732862c6c2f6347c6e1c9c6cf94a77c334f0c63d8385f2dfd852c5bf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.7",
      "date": "2026-06-17T08:55:07.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/2352ddebe3284934b2cc69b9eff4b40b784e9a2f1f9b37c0274db157456586c5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/27677265625"
    }
  ]
}