Compiler

A command-line tool that compiles Hitoshina - Language (.hl) files to LSL.

Version
0.1.1
Platform
macOS (Apple Silicon / ARM64)
Download hl

Installation

  1. Make the downloaded binary executable:
    chmod +x hl
  2. Place the binary in a directory on your PATH (e.g. /usr/local/bin):
    mv hl /usr/local/bin/
  3. Verify the installation:
    hl --version

Language Server (LSP)

A Language Server providing code completion, diagnostics, go-to-definition, and more.

Version
0.1.1
Platform
macOS (Apple Silicon / ARM64)
Download hl-lsp

Installation

  1. Make the downloaded binary executable:
    chmod +x hl-lsp
  2. Place the binary in a directory on your PATH (e.g. /usr/local/bin):
    mv hl-lsp /usr/local/bin/
  3. Verify the installation:
    hl-lsp --version

Supported features

Feature Description
CompletionKeywords, variables, functions, methods. Trigger characters: . :   @
DiagnosticsReal-time error and warning display with error codes
Go to definitionJump to symbol definitions across files
HoverType information and documentation on hover
Find referencesList all references to a symbol
RenameRename symbols across files
Document symbolsSymbol outline for the current file
Workspace symbolsSearch symbols across the workspace
Code actionsQuick fix suggestions
Semantic tokensAccurate syntax highlighting based on semantic analysis
FormattingWhole-document formatting (indentation, comment preservation, arrow and comment alignment). Range formatting is not supported

Configuration options

InitializationOptions

These are sent by the LSP client as the initialize request's initializationOptions field. hl-lsp itself has no config file or CLI options; the values are configured on the editor/client side.

Option Type Default Description
warnUnusedExports boolean true Enable warnings for unused exports in library files

Configuration examples

Neovim ( nvim-lspconfig ):

require('lspconfig').hl_lsp.setup({
  cmd = { 'hl-lsp' },
  filetypes = { 'hl' },
  init_options = {
    warnUnusedExports = false,
  },
})

VS Code (in the extension's LanguageClientOptions):

const clientOptions: LanguageClientOptions = {
  documentSelector: [{ scheme: 'file', language: 'hl' }],
  initializationOptions: {
    warnUnusedExports: false,
  },
};

Syntax

A Vim syntax file for basic highlighting when LSP is not available or not connected.

Download hl.vim

Color scheme

A Vim/Neovim color scheme (wa-dark) that matches the Hitoshina - Language color palette.

Download wa-dark.vim