//! Wasot Language Server Protocol (LSP) binary.
//!
//! This binary starts the LSP server for Wasot documents, providing:
//! - Go-to-definition for links (follow links functionality)
//! - Hover information for IDs and links
//! - Document indexing
//!
//! ## Usage
//!
//! Configure your editor to run this binary as the language server for `.wasot` files.
//!
//! ### VS Code
//!
//! Add to your settings.json:
//! ```json
//! {
//!   "wasot.languageServer.path": "/path/to/wasot-lsp"
//! }
//! ```
//!
//! ### Neovim (with nvim-lspconfig)
//!
//! ```lua
//! require('lspconfig.configs').wasot = {
//!   default_config = {
//!     cmd = { 'wasot-lsp' },
//!     filetypes = { 'wasot' },
//!     root_dir = function(fname)
//!       return require('lspconfig').util.find_git_ancestor(fname)
//!     end,
//!   },
//! }
//! require('lspconfig').wasot.setup({})
//! ```

#[tokio::main]
async fn main() {
    // Initialize tracing for debug logs
    tracing_subscriber::fmt()
        .with_writer(std::io::stderr)
        .init();

    wasot_compiler::lsp::start_lsp_server().await;
}
