doc::krazyrc(3)

πŸ“¦
version 2.97 Β· 2 versions
, in fedora 43

πŸ’– doc::krazyrc(3) πŸ’–

okay bestie, so this is the manual page for doc::krazyrc β€” the krazy control directives thing. it's filed under section 3 of the perl docs (User Contributed Perl Documentation, if we're being fancy about it). grab a snack, we're doing config files πŸ’…


✨ NAME ✨

.krazy β€” the krazy control directives. yes, that's literally the whole name. short king.


🌸 DESCRIPTION 🌸

so .krazy files are these lil directive files that tell the Krazy Code Checking tools how to behave inside a KDE source directory. think of it like setting the vibe for your whole repo, no cap πŸŽ€

each line in the file can be one of three things:

  • a control directive (the actual instructions)
  • a blank line (breathe, bestie)
  • a comment β€” comment lines start with the # character

and here's the slay part: if you specify the same directive more than once, multiple instances get merged together in a logical way. no fighting, they just combine. periodt ✨


πŸ‘‘ DIRECTIVES πŸ‘‘

these are the directives the Krazy Code Checking tools actually understand:

  • EXCLUDE plugin1[,plugin2,...] β€” removes the listed plugins from the default set of checkers. like uninviting people from the group chat, but for checkers 🫢
  • CHECK plugin1[,plugin2,...] β€” runs only the specified list of plugins from the default set of checkers. and bestie, listen: you may not combine this with the CHECKSET directive, and you may not combine it with the --check-sets command line option.
Note: the CHECK directive takes precedence over the EXCLUDE directive; i.e, plugins specified by the CHECK directive are always run, even if they are also specified in an EXCLUDE directive. so CHECK wins the argument, every time. main character energy fr πŸ’…
  • CHECKSETS set1[,set2,...] β€” runs the checker programs belonging to the specified set(s) only. you may not combine this with the CHECK directive, and you may not combine it with the --check command line option.
  • EXTRA plugin1[,plugin2,...] β€” adds the listed "extra" plugins to the default set of checkers. lil bonus round 🌈
  • TYPES type1[,type2,...] β€” checks the specified file type(s) only.
  • EXCLUDETYPES type1[,type2,...] β€” does NOT check the specified file type(s). bye bye, we're not looking at those πŸ’€
  • SKIP regexp β€” do not process any file that matches the specified perl regular expression. need help writing one? go peek at the perlreref(1) man page for a description of how to write a perl regular expression πŸ¦‹
  • PRIORITY priority β€” sets the priority value. must be one of "low", "normal", "high", "important", "all".
  • STRICT strict β€” sets the strict value. must be one of "normal", "super", "all".
  • OUTPUT output β€” sets the output level. must be one of "quiet", "brief", "all".
    • "quiet" means no output is printed, even if --verbose is passed on the command line. like, silence. absolutely nothing.
    • "brief" will only print checker summaries if the check has at least 1 issue.
    • "all" is the normal mode and prints all checker summaries.
  • EXPORT export-type β€” sets the default export-type value. must be one of the following:
    • "text" (default)
    • "textlist" prints 1 offending file-per-line
    • "textedit" prints text formatted for IDEs, 1 issue-per-line
    • "xml" prints XML formatted intended for follow-on processing
  • STYLE_CPPSTYLE C++-style β€” tells the "style" checker to follow the guidelines of the specified C++-style.

C++-style must be one of the following:

Note: Krazy uses a heuristic to decide what type of C++-style to check against. that heuristic isn't very smart; so use this setting to enforce the C++-style. ngl, the heuristic is lowkey giving nothing πŸ™ˆ

overrides the KRAZY_STYLE_CPPSTYLE environment variable, see krazy2(1).

  • STYLE_OFFSET indent β€” tells the "style" checker to check for a basic indentation level, usually a small integer like 2 or 4. this value overrides the offset provided as part of the C++-style (see STYLE_CPPSTYLE).

overrides the KRAZY_STYLE_OFFSET environment variable, see krazy2(1).

  • STYLE_LINEMAX length β€” tells the "style" checker to check for lines longer than this number of characters. the default is unlimited line length. go off, write that 400-character line, nobody's stopping you 🧚

overrides the KRAZY_STYLE_LINEMAX environment variable, see krazy2(1).


πŸŽ€ ADMIN DIRECTIVES πŸŽ€

okay so this next batch is the admin-only zone. these are administrator directives used only by the krazy2xml(1) program, and they're typically not interesting to the average user. iykyk πŸ’…

  • IGNORESUBS subdir1[,subdir2,...] β€” do not run Krazy on the specified list of subdirectories. these must be KDE "project" subdirectories that reside at the top level of a KDE module.
  • EXTRASUBS subdir1[,subdir2,...] β€” run Krazy on the specified list of subdirectories. these must be KDE "project" subdirectories that reside at the top level of a KDE module.
  • IGNOREMODS module1[,module2,...] β€” do not run Krazy on the specified list of KDE modules. these must be KDE "module" subdirectories that reside at the top level of a KDE component.

Copyright 2005-2010 by Allen Winter <winter@kde.org>


⭐ SEE ALSO ⭐

krazy2(1), krazy2all(1), krazy2xml(1), perlreftut(1)

go read those too, bestie, they're all connected. it's giving a whole ecosystem 🌸


πŸ¦‹ AUTHORS πŸ¦‹

Allen Winter, <winter@kde.org>


and that's the whole page, bestie!! 🫢 this was perl v5.42.0, dated 2025-07-24, and it's the doc::krazyrc(3) manual β€” so go forth, write your .krazy file, and make your repo iconic πŸ‘‘βœ¨πŸ’–

πŸ“¦ where this page comes from