Skip to content

rand/ananke-lsp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ananke LSP Server

Language Server Protocol implementation for Ananke typed holes.

Overview

This LSP server enables cross-editor support for Ananke's constraint-driven code generation and typed hole workflow. It provides real-time hole detection, fill suggestions, and progressive refinement capabilities.

Features

  • Hole Detection - Pattern and semantic analysis to find typed holes
  • Fill Suggestions - AI-powered completions with confidence scores
  • Code Actions - Quick fixes for filling, decomposing, and managing holes
  • Code Lenses - Visual indicators showing hole status
  • Diagnostics - Real-time feedback on constraint satisfaction

Installation

# From source
cargo install --path .

# Or build directly
cargo build --release
cp target/release/ananke-lsp /usr/local/bin/

Editor Integration

Neovim

Use with ananke-nvim or configure directly:

require('lspconfig').ananke.setup({
    cmd = { "ananke-lsp" },
    filetypes = { "python", "typescript", "rust", "zig" },
})

IntelliJ

Install the ananke-intellij plugin.

VSCode

Use the ananke-vscode extension (requires ananke-lsp binary in PATH).

Custom Protocol Extensions

Beyond standard LSP, this server implements typed hole operations:

Method Description
ananke/detectHoles Detect typed holes in a document
ananke/getFillSuggestions Get fill suggestions for a hole
ananke/fillHole Fill a specific hole
ananke/decomposeHole Break a hole into smaller holes
ananke/inspectHole Get detailed hole information
ananke/fillAllHoles Fill all auto-resolvable holes

Example Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "ananke/detectHoles",
  "params": {
    "textDocument": { "uri": "file:///path/to/file.py" },
    "includeSemantic": true
  }
}

Configuration

Via LSP workspace/didChangeConfiguration:

Setting Default Description
ananke.enableSemanticDetection true AST-based hole detection
ananke.minAutoFillConfidence 0.8 Minimum confidence for auto-fill
ananke.maxSuggestions 5 Maximum fill suggestions
ananke.enableDiagnostics true Show hole diagnostics

Development

cargo build
cargo test
RUST_LOG=ananke_lsp=debug cargo run

Related Projects

License

All Rights Reserved - Copyright (c) 2025 Rand Arete

About

Standalone LSP server for Ananke typed holes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages