KRAZY2ALL(1)
π KRAZY2ALL β the girlies' guide to sanity-checking KDE source code
okay so bestie, welcome to krazy2all, a user-contributed Perl situation (that's the manual section it lives in, 1 for "commands you just type"). Sit down, grab a strawberry, we're gonna vibe check your whole source tree. πβ¨
β¨ NAME β¨
krazy2all β Sanity checks KDE source code.
like, it literally goes "hmm bestie this code is giving unhinged" and tells you about it. no cap. π
π¦ SYNOPSIS π¦
krazy2all [options]
that's it. that's the whole vibe. you just run it and it does the thing. β¨
πΈ DESCRIPTION πΈ
okay so here's the tea: krazy2all finds all the supported files inside the current directory tree β yes, the whole tree, she's thorough β and then it runs the krazy2 checker on every single one of them. π
and after all that hard work, she produces 1 concise report in the export format you specified. one. concise. report. she's not messy, she's efficient. π
π OPTIONS π
--helpβ prints the help message and then exits. stage left, she's done. π«Ά--versionβ prints the version info and exits. we love a quick identity check.--listβ prints a list of all the available checker programs and exits. all of them. the whole roster. π--list-typesβ prints a list of the supported file types and exits. so you know what she's even willing to look at.--list-setsβ prints a list of all the checker sets and exits. sets, bestie, like curated collections. β¨--list-set <set>β prints the list of available checkers for the specified set, then exits. give her one set and she'll spill the whole thing.--priority <low|normal|high|important|all>β tells every checker program to report issues with the specified priority only. this one is lowkey a lifesaver because it helps you put your issues into "fix-first" order. π₯
supported priorities are:
low -> print low priority issues only
normal -> print normal priority issues only
high -> print high priority issues only
important -> print issues with normal or high priority
all -> print all issues (default)
--strict <normal|super|all>β tells each checker program to report issues matching the strictness level only. use this to help filter out the issues that are, frankly, not that deep. π
supported strictness levels are:
normal -> print non-super strict issues only
super -> print super strict issues only
all -> print all issues (default)
--explainβ for each checker program, if any issues are found, it prints an explanation of the problem plus solving instructions. and get this β you can use it with the--listoption to get a way more detailed description of the checker programs. obsessed. π«Ά--ignorercβ ignore.krazyfiles. justβ¦ pretend they're not there. π--config <krazyrc>β read settings from the specifiedkrazyrcconfiguration file only. all the other configuration files get ignored, including the ones chillin' in the user's home directory or in the current working directory. it's giving "you're my only config now". π--dry-runβ with this option the checker programs aren't run. instead, she prints the command line for each check that would have been run. so you can peek without committing. main character energy.--check <prog[,prog1,prog2,...,progN]>β run the specified checker program(s) only. β οΈ you may not combine this option with--check-sets.
use the --list option to show the list of available checkers.
--check-sets <set[,set1,set2,...,setN]>β run the checker programs belonging to the specified set(s) only. β οΈ you may not combine this option with--check.
use the --list-sets option to see the list of available check sets and programs.
--exclude <prog[,prog1,prog2,...,progN]>β do NOT run the specified checker program(s). blocking them. periodt.--extra <prog[,prog1,prog2,...,progN]>β add the specified "extra" program(s) to the list of checkers to run. use the--listoption to show the list of available "extra" checkers β they'll be marked with the tag[EXTRA]on the checker description line. iykyk. β--types <type[,type1,type2,...,typeN]>β check the specified file type(s) only.--exclude-types <type[,type1,type2,...,typeN]>β do NOT check the specified file type(s). not them. not today. π--export <text|textlist|textedit|xml>β output in one of these formats, bestie:
text (default)
textlist -> plain old text, 1 offending file-per-line
textedit -> text formatted for IDEs, 1 issue-per-line
(file:line:issue)
xml -> XML formatted
--titleβ gives the output report a project title. she's got a name now. π--cmsβ an acronym for "component/module/subdir". used to write the breadcrumbs line in the XML output. it must be a slash-delimited triple containing the component, the module, and the subdir that's being scanned. no shortcuts, no half-sends. π--briefβ only print the output for checkers that have at least 1 issue. if it's quiet, it stays quiet.--no-briefβ print the result of all checks, i.e. the opposite of--brief. this is the default output setting. so this is what you get unless you say otherwise. β¨--quietβ suppress all output messages. shhh. π€«--verboseβ print the offending content for each file processed. spill the receipts. π
π ENVIRONMENT π
KRAZY_PLUGIN_PATHβ this is a colon-separated list of paths which is searched when locating plugins. by default, plugins are searched for in the path$TOP/lib/krazy2/krazy-plugins:krazy-plugins.KRAZY_EXTRA_PATHβ this is a colon-separated list of paths which is searched when locating "extra" plugins. by default, the "extras" are searched for in the path$TOP/lib/krazy2/krazy-extras:krazy-extras.KRAZY_SET_PATHβ this is a colon-separated list of paths which is searched when locating checker sets. by default, the sets are searched for in the path$TOP/lib/krazy2/krazy-sets:krazy-sets.
where $TOP is the top-level installation directory (eg. /usr/local, /usr/local/Krazy2). π«Ά
π EXIT STATUS π
in normal operation, krazy2all exits with a status 0. she's fine, she's thriving, she's unbothered.
if a command line option was incorrectly provided, krazy2all exits with status=1. you gave her something she can't work with, bestie. π
if krazy2all was envoked with the --help, --version --list or --list-types options it will exit with status=0. (yes, "envoked". that's what it says. we don't fix, we preserve. π
)
π COPYRIGHT π
Copyright (c) 2005-2010 by Allen Winter <winter@kde.org>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
π§ FILES π§
.krazy (see krazyrc(3))
krazy2all looks up the current working directory tree for a .krazy file in the project subdirectory. only .krazy files found at the project subdirectory level are read. so like, don't go expecting her to read the ones buried deeper. π
for example, if the current working dir is /my/kde/trunk/KDE/kdepimlibs/kcal/versit, then krazy2all will look for /my/kde/trunk/KDE/kdepimlibs/kcal/.krazy, since kcal is the project within the kdepimlibs module. see how that works? the project subdir, not the leaf. π¦
if the current working dir is not within a KDE module, or if the current working dir is above a project subdir, then a .krazy file will not be read. that's just the rules, babe. π
π SEE ALSO π
krazyrc(3), krazy2(1), krazy2xml(1)
β AUTHORS β
Allen Winter, <winter@kde.org>
π and that's the whole page bestie! this absolute icon of a doc is from perl v5.42.0, dated 2025-07-24, and yes she ate, no crumbs. go run her on your source tree and text me the results. πβ¨π
π¦ where this page comes from
- fedora 43: krazy2 2.97-0.36.20140114git35d9080f1870d.fc43 Β· GPL-2.0-or-later
- fedora 43: krazy2 2.97-0.36.20140114git35d9080f1870d.fc43 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms