# holaOS Programming Language Support: What's Built-In and How to Extend It

> Discover holaOS programming language support. Built-in Markdown editor highlights 37 languages, with the platform written in TypeScript. Learn how to extend its capabilities.

- Repository: [holaboss.ai/holaOS](https://github.com/holaboss-ai/holaOS)
- Tags: programming-language-support
- Published: 2026-08-15

---

**holaOS natively supports syntax highlighting for approximately 37 programming languages in its built-in Markdown editor, while the entire platform itself is written in TypeScript.**

holaOS is a TypeScript-centric operating environment for AI agents, but its editor capabilities extend far beyond a single language. Whether you're working with Python, Rust, Go, or SQL, the platform provides first-class syntax highlighting out of the box. This article breaks down exactly which languages are supported, where that support is defined in the source code, and how developers can extend it.

## Built-In Editor Language Support (~37 Languages)

The holaOS Markdown editor ships with comprehensive syntax highlighting powered by the **lowlight** library. According to the source code comment in [`MarkdownEditor.tsx`](https://github.com/holaboss-ai/holaOS/blob/main/MarkdownEditor.tsx), the editor uses lowlight's `common` preset, which bundles grammars for roughly 37 popular programming languages:

> "Highlight common languages out of the box. `common` covers ~37 languages (js/ts/python/rust/go/sql/json/html/css/bash/md/etc.)"

**Source location:** [`packages/editor/src/MarkdownEditor.tsx`](https://github.com/holaboss-ai/holaOS/blob/main/packages/editor/src/MarkdownEditor.tsx), lines 61-63

The default set includes:

- **Web technologies:** JavaScript, TypeScript, HTML, CSS, JSON
- **Systems languages:** Rust, Go, C, C++
- **Scripting languages:** Python, Bash, Ruby, PHP
- **Data & markup:** SQL, Markdown, YAML, XML
- **Other common languages:** Java, Kotlin, Swift (partial), and more

This coverage ensures that most code snippets generated by integrated LLMs (Gemini, GPT, Claude, etc.) receive proper syntax highlighting without any configuration.

## Runtime Language: TypeScript-First Architecture

While the editor supports many languages for display, **all core holaOS code is authored in TypeScript**. This includes:

- **Desktop application** (Electron-based)
- **Agent runtime** and orchestration layer
- **Plugin SDK** and all official plugins
- **Core system services**

The root [`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/package.json) confirms TypeScript as the primary development language, with the entire workspace structured around Node.js and Electron tooling. Agents execute in a TypeScript Node/Electron environment, meaning plugin developers write exclusively in TypeScript to extend the platform.

## Extending Language Support Beyond the Defaults

The lowlight-based architecture makes adding new languages straightforward. Developers can extend the editor to support additional grammars by modifying the lowlight configuration.

### Example: Adding Swift Support

```tsx
import { createLowlight } from "lowlight";
import swift from "highlight.js/lib/languages/swift";

const lowlight = createLowlight({ ...common, swift });

export const MarkdownEditor = /* … component implementation … */;

```

By importing the desired highlight.js grammar and merging it with the `common` preset, you enable syntax highlighting for any language in the highlight.js ecosystem—over 190 languages total.

**Key integration point:** [`packages/editor/src/MarkdownEditor.tsx`](https://github.com/holaboss-ai/holaOS/blob/main/packages/editor/src/MarkdownEditor.tsx)

## AI-Generated Code: No Language Limits

The platform's LLM integrations impose **no restrictions on output languages**. While the editor highlights ~37 languages natively, models can generate code in any language they support—from niche domain-specific languages to emerging research languages.

```tsx
import { MarkdownEditor } from "@/components/MarkdownEditor";

function Example() {
  const markdown = `
\`\`\`python
def hello(name: str) -> str:
    return f"Hello, {name}!"
\`\`\`
`;

  return <MarkdownEditor value={markdown} readOnly />;
}

```

The `<MarkdownEditor>` component automatically detects the `python` language identifier and applies appropriate highlighting. Unsupported languages still render as plain code blocks—content is never lost, only unstyled.

## Key Source Files for Language Support

| File | Purpose |
|------|---------|
| [`packages/editor/src/MarkdownEditor.tsx`](https://github.com/holaboss-ai/holaOS/blob/main/packages/editor/src/MarkdownEditor.tsx) | Defines default ~37 language set via lowlight `common` preset |
| [`package.json`](https://github.com/holaboss-ai/holaOS/blob/main/package.json) (repository root) | Establishes TypeScript as the runtime and build language |
| [`runtime/harness-host/src/agent-runtime-config.ts`](https://github.com/holaboss-ai/holaOS/blob/main/runtime/harness-host/src/agent-runtime-config.ts) | Configures LLM providers (language-agnostic code generation) |
| [`docs/plugin-sdk.md`](https://github.com/holaboss-ai/holaOS/blob/main/docs/plugin-sdk.md) | Documents TypeScript-based plugin development |

These files collectively determine **what holaOS highlights** versus **what holaOS runs**.

## Summary

- **Editor highlighting:** ~37 languages via lowlight's `common` preset, defined in [`MarkdownEditor.tsx`](https://github.com/holaboss-ai/holaOS/blob/main/MarkdownEditor.tsx)
- **Platform runtime:** 100% TypeScript for agents, plugins, and desktop application
- **Extensibility:** Unlimited additional languages through highlight.js grammar imports
- **AI output:** No restrictions; models can generate any language, with native highlighting when supported

## Frequently Asked Questions

### Can holaOS run Python or Rust code directly?

No. holaOS executes agents and plugins in a TypeScript Node/Electron runtime only. Python or Rust code must be run through external tools or containers that the TypeScript agent orchestrates.

### How do I add syntax highlighting for a language not in the default 37?

Import the highlight.js grammar for your target language and extend the lowlight instance in [`MarkdownEditor.tsx`](https://github.com/holaboss-ai/holaOS/blob/main/MarkdownEditor.tsx). The source includes a pattern for merging custom grammars with the `common` preset.

### Does the language support affect what LLMs can generate?

No. The integrated models (Gemini, GPT, Claude, etc.) can output code in any language in their training data. Language support only affects whether the editor applies syntax highlighting to that output.

### Is TypeScript required for all holaOS development?

Yes. The plugin SDK and agent framework are TypeScript-only. While you can interface with external services written in any language, all holaOS-native code must be TypeScript.