Auto-detect language
- JavaScript
- Rust
- Elixir
- CLI
const html = await highlight('#!/usr/bin/env bash\necho "hello"', htmlInline({theme: frappe}))
use lumis::languages::Language;
let lang = Language::guess(Some("script.sh"), source);
Lumis.highlight!("#!/usr/bin/env bash\necho 'hello'")
lumis highlight main.rs
Resolving the id without highlighting
Highlighting detects the language for you. To ask what a snippet is before
deciding what to do with it, call the detector directly. It returns the same id
highlighting would have used, falling back to plaintext.
- JavaScript
- Rust
- Elixir
import {guessLanguage} from '@lumis-sh/lumis'
guessLanguage('lib/app.ex') // "elixir"
guessLanguage(undefined, '#!/usr/bin/env bash') // "bash"
use lumis::languages::Language;
assert_eq!(Language::guess(Some("lib/app.ex"), ""), Language::Elixir);
assert_eq!(Language::guess(None, "#!/usr/bin/env bash"), Language::Bash);
Lumis.Languages.guess("lib/app.ex")
Lumis.Languages.guess(nil, "#!/usr/bin/env bash")