/*hackerman.ai#<<<<<<<<<<<<<<*cdefintcurrent_char_index=0*cdefstrcurrent_char*/
/*Pythonwrapper*/staticPyObject*__pyx_pw_9hackerman_5Lexer_12comment_char_1__ge
t__(PyObject*__pyx_v_self);/*proto*/staticPyObject*__pyx_pw_9hackerman_5Lexer_1
2comment_char_1__get__(PyObject*__pyx_v_self){CYTHON_UNUSEDPyObject*const*__pyx
_kwvalues;PyObject*__pyx_r=0;__Pyx_RefNannyDeclarations__Pyx_RefNannySetupConte
xt("__get__(wrapper)",0);__pyx_kwvalues=__Pyx_KwValues_VARARGS(__pyx_args,__pyx
_nargs);__pyx_r=__pyx_pf_9hackerman_5Lexer_12comment_char___get__(((struct__pyx
_obj_9hackerman_Lexer*)__pyx_v_self));/*functionexitcode*/__Pyx_RefNannyFinishC
ontext();return__pyx_r;}staticPyObject*__pyx_pf_9hackerman_5Lexer_12comment_cha
r___get__(CYTHON_UN                    USEDstruct__pyx_obj_9hackerman_Lexer*__p
yx_v_self){PyObject                    *__pyx_r=NULL;__Pyx_RefNannyDeclarations
__Pyx_RefNannySetup                    Context("__get__",1);/*"hackerman.pyx":2
61**@property*defco                    mment_char(self):return"--"#<<<<<<<<<<<<
<<**deftokenize(sel                    f,strtext):*/__Pyx_XDECREF(__pyx_r);__Py
x_INCREF(__pyx_kp_u                    _*/__Pyx_XDECREF(__pyx_r);__Pyx_INCREF(_
_pyx_kp_u_*/__Pyx_X                    DEC260*deflexer_name(self):return"Hacker
manConfig"**@prlexe                    r_name(self):return"HackermanConfig"**@p
rlexer_name(self):r                    eturn"HackermanConfig"**@prlexer_name(se
lf):retu_rlexer_nam                    e(self):return"HackermanConfig"**@prlexe
r_name(self):return                    "HackermanConfig"**@prlexer_name(self):e
ftokenize(self,strt                    ext):#<<<<<<<<<<<<<<*cdefintcurrent_char
_index=0*cdefstrcur                    rent_char*//*Pythonwrapper*/current_char
_index=0*cdefstrcur                    rent_char*//*Pythonwrapper*/current_char
_index=0*cdefstrcur                    rent_char*//*Px_args,Py_ssize_t__pyx_nar
gs,PyObject*__pyx_k                    wds#elsePyObject*__pyx_args,PyObject*__p
yx_kwds#endif);/*pr                    oto*/staticPyMethodDef__pyx_mdef_9hacker
man_5Lexer_1tokeniz                    e={"tokenize",(PyCFunction)(void*)(__Pyx
_PyCFunctio={"token                    ize",(PyCFunction)(void*)(__Pyx_PyCFunct
io={"tokenize",(PyC                    Function)(void*)(__Pyx_PyCFunctio={"toke
nize",(Py_pw_9hacke                    rman_5Lexer_1tokenize(PyObject*__pyx_v_s
elf,#ifCYTHON_METH_                    FASTCALLPyObject*const*__pyx_args,Py_ssi
ze_t__pyx_nargs,PyO                    bject*__pyx_kwds#elsePyObject*__pyx_args
,PyObject*__pyx_kwd                    s#endif){PyObject*__pyx_v_text=0;#if!CYT
HON_METH_FASTCALLCY                    THON_UNUSEDPy_ssize_t__pyx_nargs;#endifC
YTHON_UNUSEDPyObjec                    t*const*__pyx_kwvalues;PyObject*values[1
]={0};int__pyx_line                    no=0;constchar*__pyx_filename=NULL;int__
pyx_clineno=0;PyObj                    ect*__pyx_r=0;__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("tokenize(wrapper)",0);#if!CYTHON_METH_FASTCALL#ifCY
THON_ASSUME_SAFE_MACROS__pyx_nargs=PyTuple_GET_SIZE(__pyx_args);#else__pyx_narg
s=PyTuple_Size(__pyx_args);if(unliPyTuple_Size(__pyx_args);if(unliPyTuple_Size(
__pyx_args);if(unliPyTuple_Size(__pyx_args);if_args,__pyx_nargs);{PyObject**__p
yx_pyargnames[]={&__pyx_n_s_text,0};if(__pyx_kwds){Py_ssize_tkw_args;switch(__p
yx_nargs){case1:values[0]=__Pyx_Arg_FASTCALL(__pyx_args,0);CYTHON_FALLTHROUGH;c
ase0:break;default:goto__pyx_L5_argtuple_e__pyx_L5_argtuple_e__pyx_L5_argtuple_
e__pyx_L5_argtuple_e__pyx_L5_argtuple_e__pyx_L5_argtuple_e__pyx_L5_argtuple_e__
pyly((v__pyx_L5_argtuple_e__pyx_L5_argtuple_e__pyx_L5_argtuple_e__pyx_L5_argtup
            
Launching for MacOS in 2025

Hackerman Text, the AI-native code editor

Buy once, own forever

Free to use for personal or evaluation purposes.

Waitlist Features

Hackerman Text is built on a simple principle: make typing feel instant, then stay out of your way.

Non-essential features are on-demand by default. There are no distracting squiggles.

Most things behave exactly as you expect, with minimal side effects. Each tab holds a single file, and any tab can be split once. You can keep many tabs open in a window, and many windows open at once. Every view stays in sync and always shows the latest version of your files.

Your configuration lives in plain text, so it can be version-controlled, shared across machines, or stored in the cloud.

Launching for MacOS in 2025

Local-first AI (opt-in)

Zero-latency typing (<10ms)

No telemetry, no sign in

No subscription required

Download links will appear here when available.

Editor roadmap

// done

Core editor features (multi-cursor editing, multiple selections)

Everything as text files

Multiple views, single document (changes instantly reflected in all views)

Create your own themes

Local LLMs

Copilot-like code completion (opt-in)

Project-wide search

Keybind custom functions

Emacs-like org mode for notes (subset)

Zero-latency typing (<10ms avg.)

// almost ready

Bring your own lexer (for esolangs)

Support for mix-and-match LLM models

Inline shell, eval, and AI chat

Code scroller (minimap)

// todo

Context-aware autocomplete (AI based)

Remote development (SSH)

Virtual buffers for very large files (10M+ lines)

Sublime-like performance

Model support (recommended models)

// Code Completion (fill-in-the-middle)

Qwen 2.5 Coder via Ollama

Codestral by Mistral

Mercury Coder by Inception

// Code Instruction

GPT-4o/5 by OpenAI

Any larger model via Ollama

// Inline chat

GPT-4o/5 by OpenAI

Any larger model via Ollama

Programming language support

Hackerman Text ships with built-in, native-level lexers tuned for speed. There are currently no plans to add heavier, language-aware tooling. Submit feature request

Assembly

Bash

C

C++

C#

CSS

Cython

D

Dart

Fortran

Go

Haskell

HTML

JavaScript

Kotlin

LaTeX

Lisp

Lua

Makefile

Markdown

Mojo

Nim

OCaml

Odin

Pascal

Perl

PHP

PowerShell

Prolog

Python

R

Ruby

Rust

Scala

Swift

TypeScript

Verilog

Zig

Jai

Turn your late-night ideas into morning commits.

Hackerman Text

Launching for MacOS in 2025