Compiler
A command-line tool that compiles Hitoshina - Language (.hl) files to LSL.
- Version
- 0.1.1
- Platform
- macOS (Apple Silicon / ARM64)
Installation
- Make the downloaded binary executable:
chmod +x hl - Place the binary in a directory on your PATH (e.g.
/usr/local/bin):mv hl /usr/local/bin/ - 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)
Installation
- Make the downloaded binary executable:
chmod +x hl-lsp - Place the binary in a directory on your PATH (e.g.
/usr/local/bin):mv hl-lsp /usr/local/bin/ - Verify the installation:
hl-lsp --version
Supported features
| Feature | Description |
|---|---|
| Completion | Keywords, variables, functions, methods. Trigger characters: . : @ |
| Diagnostics | Real-time error and warning display with error codes |
| Go to definition | Jump to symbol definitions across files |
| Hover | Type information and documentation on hover |
| Find references | List all references to a symbol |
| Rename | Rename symbols across files |
| Document symbols | Symbol outline for the current file |
| Workspace symbols | Search symbols across the workspace |
| Code actions | Quick fix suggestions |
| Semantic tokens | Accurate syntax highlighting based on semantic analysis |
| Formatting | Whole-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.
Color scheme
A Vim/Neovim color scheme (wa-dark) that matches the Hitoshina - Language color palette.