feat: add blu-site static site generator and fix language issues
Build a complete static site generator in Lux that faithfully clones
blu.cx (elmstatic). Generates 14 post pages, section indexes, tag pages,
and a home page with snippets grid from markdown content.
Language fixes discovered during development:
- Add \{ and \} escape sequences in string literals (lexer)
- Register String.indexOf and String.lastIndexOf in type checker
- Fix formatter to preserve brace escapes in string literals
- Improve LSP hover to show documentation for let bindings and functions
ISSUES.md documents 15 Lux language limitations found during the project.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1599,6 +1599,14 @@ impl TypeEnv {
|
||||
"parseFloat".to_string(),
|
||||
Type::function(vec![Type::String], Type::Option(Box::new(Type::Float))),
|
||||
),
|
||||
(
|
||||
"indexOf".to_string(),
|
||||
Type::function(vec![Type::String, Type::String], Type::Option(Box::new(Type::Int))),
|
||||
),
|
||||
(
|
||||
"lastIndexOf".to_string(),
|
||||
Type::function(vec![Type::String, Type::String], Type::Option(Box::new(Type::Int))),
|
||||
),
|
||||
]);
|
||||
env.bind("String", TypeScheme::mono(string_module_type));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user