feat(lexer): add type system keywords

Added four keywords for new type system:
- concept: Base type definition
- sub_concept: Enum/record sub-type definition
- concept_comparison: Compile-time enum mapping
- any: Universal type for dynamic contexts

Also added:
- CLAUDE.md with project instructions and commit guidelines
- Test coverage for new keywords
- Crate-level deny directives for unused variables and dead code

Fixed pre-existing clippy issues to pass pre-commit hooks.
This commit is contained in:
2026-02-13 22:31:56 +00:00
parent 16deb5d237
commit f258a526e3
14 changed files with 151 additions and 74 deletions

View File

@@ -481,14 +481,14 @@ mod definition_tests {
};
let uri = Url::parse("file:///test.sb").unwrap();
let result = definition::get_definition(&mut doc, &params, &uri);
let result = definition::get_definition(&doc, &params, &uri);
assert!(result.is_some());
}
#[test]
fn test_goto_definition_not_found() {
let mut doc = Document::new("character Alice {}".to_string());
let doc = Document::new("character Alice {}".to_string());
let params = GotoDefinitionParams {
text_document_position_params: TextDocumentPositionParams {
@@ -505,7 +505,7 @@ mod definition_tests {
};
let uri = Url::parse("file:///test.sb").unwrap();
let result = definition::get_definition(&mut doc, &params, &uri);
let result = definition::get_definition(&doc, &params, &uri);
assert!(result.is_none());
}
@@ -542,7 +542,7 @@ mod references_tests {
};
let uri = Url::parse("file:///test.sb").unwrap();
let result = references::find_references(&mut doc, &params, &uri);
let result = references::find_references(&doc, &params, &uri);
assert!(result.is_some());
let locations = result.unwrap();
@@ -576,7 +576,7 @@ mod references_tests {
};
let uri = Url::parse("file:///test.sb").unwrap();
let result = references::find_references(&mut doc, &params, &uri);
let result = references::find_references(&doc, &params, &uri);
let locations = result.unwrap();
// Should only find "Alice", not "Alicia"