🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more

kolmo-syntax

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

kolmo-syntax

A syntax coloring lib for html texts divs, primarily for Kolmo Lang but extensible

1.1.1
latest
Version published
Maintainers
1
Created

Kolmo Syntax Highlighter

An elegant syntax highlighter for the Kolmo language, using TypeScript.

Features

  • Syntax highlighting for Kolmo language
  • Multiple theme options:
    • Catppuccin Frappé
    • One Dark
    • JetBrains Fleet
  • Support for:
    • Comments
    • Characters
    • Numbers
    • Constructors
    • Special symbols (λ, Π, ∀, etc.)
    • Operators
    • Declaration and definition keywords
    • Control flow and match structures
    • Delimiters and punctuation
    • Variables

How to Use

  • Include the required files in your HTML:
<link rel="stylesheet" href="dist/kolmo.css">
<script src="dist/kolmo-syntax.js"></script>
  • Add the kolmo-syntax class to the element containing Kolmo code:
<div class="kolmo-syntax">
    // Your Kolmo code here
</div>
  • Initialize the highlighter with options:
<script>
    // Initialize with default theme (Frappé)
    init();

    // Or specifies a theme
    init({ theme: 'one-dark' });

    // You can also set it later
    setTheme('frappe');
</script>

Development

Prerequisites

  • Node.js
  • TypeScript

Installation

npm install

Scripts

  • npm run build - Compiles TypeScript and copies CSS files
  • npm run watch - Watches for changes in TypeScript files
  • npm run clean - Cleans the distribution folder

Project Structure

  • src/
    • syntax.ts - TypeScript source code
    • kolmo.css - Styles and color theme
  • dist/ - Compiled JavaScript and processed CSS
  • index.html - Usage example
  • tsconfig.json - TypeScript configuration

Color Theme

The project uses the Catppuccin Frappé theme, providing a pleasant and high-contrast visual experience. Colors are defined as CSS variables for easy customization.

Customization

Theme Configuration via TypeScript

You can configure the theme programmatically:

  • Using the init function with options:
init({ theme: 'frappe' }); // or 'one-dark'
  • Changing theme at runtime:
setTheme('one-dark'); // or 'frappe'

The theme selection is persisted in localStorage and will be restored on page reload.

Fonts and Styling via CSS

You can customize fonts and other styles by creating your own configuration file. Include it after the base CSS and theme files:

<link rel="stylesheet" href="dist/kolmo.css">
<link rel="stylesheet" href="dist/themes/frappe.css">  <!-- or other theme -->
<link rel="stylesheet" href="path/to/your-config.css">

Available font variables:

:root {
  --kolmo-font-family: 'Your Font', monospace;
  --kolmo-font-size: 16px;
  --kolmo-line-height: 1.6;
  --kolmo-font-weight-normal: 400;
  --kolmo-font-weight-bold: 600;
}

Optional styling variables:

:root {
  --kolmo-block-padding: 1.5rem;
  --kolmo-block-border-radius: 8px;
}

See themes/config.css for a complete example of customization options.

Theme Customization

The project uses the Catppuccin Frappé theme by default. You can create your own theme by overriding the CSS variables:

  • Create a new CSS file (e.g., my-theme.css)
  • Define your color variables:
:root {
  --kolmo-comment: #666666;      /* Comments */
  --kolmo-char: #98c379;         /* Characters */
  --kolmo-number: #d19a66;       /* Numbers */
  --kolmo-constructor: #c678dd;  /* Constructors */
  --kolmo-symbol: #56b6c2;       /* Special symbols (λ, Π, ∀) */
  --kolmo-operator: #e06c75;     /* Operators */
  --kolmo-declaration: #c678dd;  /* Keywords: data, import */
  --kolmo-definition: #d19a66;   /* Keywords: def, gen */
  --kolmo-control: #e5c07b;      /* Keywords: if, else, case */
  --kolmo-variable: #61afef;     /* Variables */
  --kolmo-match: #98c379;        /* Keywords: match, switch */
  --kolmo-delimiter: #c678dd;    /* Delimiters: (), [], {} */
  --kolmo-punctuation: #e5c07b;  /* Punctuation: , ; : . */
}

/* Optional: Override the background and text colors */
.kolmo-syntax {
  color: #abb2bf;               /* Default text color */
  background-color: #282c34;    /* Background color */
}
  • Include your theme file after the default theme:
<link rel="stylesheet" href="dist/kolmo.css">
<link rel="stylesheet" href="path/to/my-theme.css">

Available theme variables and their usage:

VariableDescription
--kolmo-commentSingle-line comments starting with //
--kolmo-charCharacter literals
--kolmo-numberNumeric literals
--kolmo-constructorConstructors (#Name), <>, ->, []
--kolmo-symbolSpecial symbols like λ, Π, ∀
--kolmo-operatorMathematical and logical operators
--kolmo-declarationDeclaration keywords (data, import)
--kolmo-definitionDefinition keywords (def, gen)
--kolmo-controlControl flow keywords
--kolmo-variableVariable names
--kolmo-matchPattern matching keywords
--kolmo-delimiterBrackets and parentheses
--kolmo-punctuationPunctuation marks

FAQs

Package last updated on 28 Apr 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts