Documentation
use crate::diagnostic::theme::{Base16Theme, Rgb};

pub(crate) fn color_for_capture(theme: &Base16Theme, name: &str) -> Rgb {
    match name {
        "comment.documentation" => theme.base04,
        "comment.error" => theme.base08,
        "comment.warning" => theme.base09,
        "comment.todo" => theme.base0e,
        "comment.note" => theme.base0d,
        "string.documentation" => theme.base04,
        "string.escape" => theme.base0c,
        "string.regexp" => theme.base0f,
        "string.special" => theme.base0d,
        "string.special.symbol" => theme.base0d,
        "string.special.path" => theme.base0d,
        "string.special.url" => theme.base0d,
        "character.special" => theme.base0a,
        "number.float" => theme.base09,
        "type.builtin" => theme.base0a,
        "type.definition" => theme.base0d,
        "variable.builtin" => theme.base09,
        "variable.parameter" => theme.base08,
        "variable.parameter.builtin" => theme.base08,
        "variable.member" => theme.base08,
        "constant.builtin" => theme.base09,
        "constant.macro" => theme.base0c,
        "function.builtin" => theme.base0d,
        "function.call" => theme.base0d,
        "function.macro" => theme.base0c,
        "function.method" => theme.base0d,
        "function.method.call" => theme.base0d,
        "attribute.builtin" => theme.base0e,
        "module.builtin" => theme.base0d,
        "keyword.directive" => theme.base0e,
        "keyword.directive.define" => theme.base0e,
        "keyword.conditional" => theme.base0e,
        "keyword.conditional.ternary" => theme.base0e,
        "keyword.exception" => theme.base0e,
        "keyword.import" => theme.base0e,
        "keyword.operator" => theme.base0e,
        "keyword.coroutine" => theme.base0e,
        "keyword.function" => theme.base0e,
        "keyword.modifier" => theme.base0e,
        "keyword.repeat" => theme.base0e,
        "keyword.return" => theme.base0e,
        "keyword.debug" => theme.base0e,
        "keyword.type" => theme.base0e,
        "punctuation.delimiter" => theme.base05,
        "punctuation.bracket" => theme.base05,
        "punctuation.special" => theme.base02,
        "markup.strong" => theme.base0a,
        "markup.italic" => theme.base0d,
        "markup.strikethrough" => theme.base01,
        "markup.underline" => theme.base06,
        "markup.heading" => theme.base06,
        "markup.heading.1" => theme.base06,
        "markup.heading.2" => theme.base06,
        "markup.heading.3" => theme.base06,
        "markup.heading.4" => theme.base06,
        "markup.heading.5" => theme.base06,
        "markup.heading.6" => theme.base06,
        "markup.quote" => theme.base03,
        "markup.math" => theme.base0c,
        "markup.link" => theme.base0d,
        "markup.link.label" => theme.base0d,
        "markup.link.url" => theme.base0d,
        "markup.raw" => theme.base02,
        "markup.raw.block" => theme.base00,
        "markup.list" => theme.base05,
        "markup.list.checked" => theme.base05,
        "markup.list.unchecked" => theme.base05,
        "diff.plus" => theme.base0b,
        "diff.minus" => theme.base08,
        "diff.delta" => theme.base0a,
        "tag" => theme.base0d,
        "tag.builtin" => theme.base0d,
        "tag.attribute" => theme.base0c,
        "tag.delimiter" => theme.base05,
        "comment" => theme.base03,
        "string" => theme.base0b,
        "character" => theme.base0b,
        "number" => theme.base09,
        "boolean" => theme.base09,
        "keyword" => theme.base0e,
        "type" => theme.base0a,
        "variable" => theme.base08,
        "constant" => theme.base09,
        "function" => theme.base0d,
        "attribute" => theme.base0e,
        "module" => theme.base0d,
        "property" => theme.base0c,
        "operator" => theme.base07,
        "punctuation" => theme.base05,
        "markup" => theme.base05,
        "diff" => theme.base0a,
        "label" => theme.base0f,
        _ => theme.base05,
    }
}