{
  "_id": "6a59d05a09eb0996dd68e361",
  "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-07-17 06:42:27 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/899a4d4d5b6d4bcd4ee7b9d7a59a3139e0163a540924b9f87c8390d99114205a",
  "_filesize": 961542,
  "_sha256": "899a4d4d5b6d4bcd4ee7b9d7a59a3139e0163a540924b9f87c8390d99114205a",
  "_expires": "2026-10-25T06:48:56.000Z",
  "_created": "2026-07-17T06:42:27.000Z",
  "_published": "2026-07-17T06:48:58.337Z",
  "_jobs": [
    {
      "job": 87822678790,
      "time": 163,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8399215478"
    },
    {
      "job": 87822678845,
      "time": 136,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8399206918"
    },
    {
      "job": 87822678822,
      "time": 148,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8399210933"
    },
    {
      "job": 87822678806,
      "time": 140,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8399207964"
    },
    {
      "job": 87822678793,
      "time": 202,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8399215278"
    },
    {
      "job": 87822678768,
      "time": 355,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8399262735"
    },
    {
      "job": 87822678810,
      "time": 141,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8399200529"
    },
    {
      "job": 87822678877,
      "time": 350,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8399260311"
    },
    {
      "job": 87822205554,
      "time": 194,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8399165136"
    },
    {
      "job": 87822678737,
      "time": 96,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8399194549"
    },
    {
      "job": 87822678764,
      "time": 100,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8399196017"
    },
    {
      "job": 87822678808,
      "time": 94,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8399193564"
    },
    {
      "job": 87822678797,
      "time": 90,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8399192931"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306",
  "_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": "resolute",
  "_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": 209,
  "_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": 179,
    "description": "Hobbyist programmer based on the East Coast of the USA.  Interested in data analysis and visualization."
  },
  "_downloads": {
    "count": 211619,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/fansi"
  },
  "_devurl": "https://github.com/brodieg/fansi",
  "_searchresults": 593,
  "_rbuild": "4.6.1",
  "_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.636239581498092,
  "_indexed": true,
  "_nocasepkg": "fansi",
  "_universes": [
    "brodieg"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-07-17T06:45:06.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/c643839bf923c045da9053695f3e150f155d7f62a17fb6b88c01f177fba7e1b9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-07-17T06:44:34.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/2eef00688547d06316e3d46edc8fe484a9ad2f7661f2e598ae303e40c02bbca4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-07-17T06:44:53.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/630a2600f6daa29226cd887043c0e63dee0c17a1d9963dd22e29fc496724547e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.7",
      "date": "2026-07-17T06:44:34.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/4b9c485fd3ce632d8ad64b14df78f12337deaf7991cc341dcbbbcc6f2fb7234b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-07-17T06:45:04.000Z",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/e0f50e544f03c6ec1c4990c373d83caf840405904ab20d5ce972ef47f830d1a9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-07-17T06:47:06.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/82f67ba2e496777a30080566383fe8f8b8292561b7f502df1c1e94981041bb44",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-07-17T06:44:21.000Z",
      "arch": "aarch64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/a1272fa31d0209e55fa98e8c43cf720cb90f8c5ee47112b35fc713ae91e70842",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.7",
      "date": "2026-07-17T06:46:55.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/529a77b5195419381c0414ac1816582afc30f321e5edd768432aff28517cc48c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.7",
      "date": "2026-07-17T06:44:19.000Z",
      "arch": "emscripten",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/67e59d14a11e1ab0ccaed0970f20372c8c2c890129d0c53db4731cd49d1f9dbc",
      "status": "success",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.7",
      "date": "2026-07-17T06:43:34.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/e13e9969a1b58142d4aa92475974f5da35257ab56006efafc9f41a8bdf83d51c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.7",
      "date": "2026-07-17T06:43:33.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/911aebc330cf7bcd5d5ada5d884c0d2ffabf49a924b6365018d015ca79ca15c6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.7",
      "date": "2026-07-17T06:43:30.000Z",
      "arch": "x86_64",
      "commit": "292a2de8812b74ad02f1b47d615bf3fdf224adb6",
      "fileid": "https://r2.ropensci.org/8699ee886eb12a90f5ac9178b36624ba28b9eb278b97fc4ecdc5803924181dc5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/brodieg/actions/runs/29560651306"
    }
  ]
}