What is a .HMM file?
HMM is a header paired with an Objective-C++ (.mm) implementation - it declares the interface that mixed C++ and Objective-C code shares.
- Did you know
- It is not a standard extension but a project convention (used in OrcaSlicer’s Retina helper, for example) marking a header whose implementation is Objective-C++.
- Keeping Objective-C++ declarations in a .hmm rather than an ordinary .h stops a plain C++ file from accidentally pulling in Objective-C syntax its compiler cannot parse.
- A .hmm header usually wraps Apple-only types behind a plain C++ interface, so most of the codebase can use macOS features without ever seeing Objective-C.
- What Analyser reads
- Open and read programming-language source, build and configuration files as text: C, C++ and their headers, C#, Java, Kotlin, Go, Rust, Python, Ruby, PHP, Swift, Scala, Lua, Perl, R, Dart, Groovy and Visual Basic, GPU shaders (GLSL, HLSL), shell scripts (sh, Bash, Zsh, Fish), and the build and tooling files that fill a source repository - CMake, Makefiles, Ninja, Autotools (.in / .ac / .am / .m4), qmake projects, Doxygen configs and the dotfiles that configure Git, Docker, npm, ESLint, Prettier, Cursor and clang-format. Also opens Objective-C++ (.mm / .hmm), more GPU shaders (.fs / .vs / .gs), Boost.Jam and Meson build scripts, Unix manual pages, web stylesheets (Less, Sass/SCSS) and Svelte components, gettext translations (.po / .pot), Apple entitlements and licence/readme text, plus Cython (.pyx), OpenGL shaders (.fsh / .vsh / .geom), Git hook samples, ESLint and Yarn configs and ASP.NET (.aspx) pages. Each opens with a source preview, line count and metadata, entirely in your browser.
- Depth of analysis
- .HMM is an identification-grade format: Analyser recognises it from its bytes and decodes the header metadata it carries, rather than opening it in a full viewer. Formats that do get a full viewer are marked "Full" on the formats page.
- Open a .HMM file
- Drag a .HMM file onto the Analyser home page (or tap to pick one). It is identified entirely in your browser - nothing is uploaded, there is no account, and it works offline once installed.