No description
Find a file
2025-10-23 20:39:27 +02:00
click_driver refactor(include): split click.h into more manageable modules 2025-10-23 09:31:45 +02:00
include/click fix(libclick): fix build in gcc&clang strict complaince mode 2025-10-23 20:02:46 +02:00
libclick fix(libclick): somehow forgot to print a newline in panic impl 2025-10-23 20:39:27 +02:00
tests feat: disallow single-line comments in <= c99 2025-10-21 07:26:03 +02:00
.clang-format chore: remove 'BasedOnStyle' key from .clang-format 2025-10-21 07:26:03 +02:00
.clangd feat: character literals and separate tests folder 2025-10-21 07:26:02 +02:00
.gitignore feat: disallow single-line comments in <= c99 2025-10-21 07:26:03 +02:00
meson.build feat(libclick): click_fnv1a*, and arena buflen check infra skelleton 2025-10-21 07:26:03 +02:00
README.md docs(README): don't re-explain feat and fix 2025-10-21 07:26:03 +02:00

click

Language frontend for C-like languages, with heavy focus on correctness and simplicity

Goals:

  • easy to modify
  • easy to extend to other languages
  • easy to use for writing tooling
  • "correct"
  • fast enough for most use cases

Building

meson setup build/ --prefix /usr
#                  ^^^^^^^^^^^^^
#              only required when you want to install too
#
# you can also add --buildtype release  OR  --buildtype debugoptimized

meson compile -C build/

# installs /usr/include/click/*, /usr/lib/libclick.a, and /usr/bin/click
meson install -C build

Development

  • Use clang-format (>= 21!!)
  • If the result of the auto-formatter looks bad, don't disable formatting, but instead refactor your code.
  • Commit messages abide by the Conventional Commits style for the most part; however, we add extra types on top:
    • docs, style: documentation and formatting changes, respectively
    • perf: performance improvements
    • test: add or improve tests
    • refactor: rename, move, or deprecate stuff
    • chore: remove long deprecated functions, change build system, and related
    • misc: anything else