Function scip_symbols_to_code_symbols

Source
pub fn scip_symbols_to_code_symbols(
    document: &Document,
    symbols: &[SemanticDocumentSymbol],
) -> Vec<CodeSymbol>
Expand description

Converts semantic symbols into document-local symbols sourced as SCIP.

Conversion otherwise follows lsp_symbols_to_code_symbols: positional one-based IDs, numeric length clamping, no parent/docs, and detail-to-signature.

ยงExamples

use ailloli_ui_editor::{code::{scip_symbols_to_code_symbols, SemanticDocumentSymbol}, Document, DocumentId, SymbolKind, SymbolSource};
use ailloli_ui_text::TextBuffer;
let document = Document::new(DocumentId(1), TextBuffer::from_string("x"));
let input = [SemanticDocumentSymbol { name: "x".into(), kind: SymbolKind::Variable, range: 0..1, selection_range: 0..1, detail: None, source: SymbolSource::Lsp }];
assert_eq!(scip_symbols_to_code_symbols(&document, &input)[0].source, SymbolSource::Scip);