@emprespresso/codemirror-lang-tabloid
Tabloid language support for CodeMirror 6.
About Tabloid
Tabloid is the clickbait headline programming language created by Linus Lee. It features outrageous keywords like DISCOVER HOW TO (function declaration), EXPERTS CLAIM (variable assignment), and PLEASE LIKE AND SUBSCRIBE (required program terminator).
Installation
npm install @emprespresso/codemirror-lang-tabloid
Usage
import { EditorView, basicSetup } from 'codemirror'
import { tabloid } from '@emprespresso/codemirror-lang-tabloid'
const view = new EditorView({
extensions: [basicSetup, tabloid()],
parent: document.querySelector('#editor')
})
Language Features
Keywords
DISCOVER HOW TO ... WITH ...- Function declarationEXPERTS CLAIM ... TO BE ...- Variable assignmentRUMOR HAS IT ... END OF STORY- Code blockWHAT IF ... LIES! ...- If/else statementSHOCKING DEVELOPMENT- Return statementYOU WON'T WANT TO MISS- Print statementLATEST NEWS ON- Input statementPLEASE LIKE AND SUBSCRIBE- Program terminator (required)
Operators
Arithmetic:
- PLUS - Addition
- MINUS - Subtraction
- TIMES - Multiplication
- DIVIDED BY - Division
- MODULO - Modulo
Comparison:
- IS ACTUALLY - Equality
- BEATS - Greater than
- SMALLER THAN - Less than
Logical:
- AND - Logical AND
- OR - Logical OR
Literals
- Numbers:
123,45.67 - Strings:
"hello",'world' - Booleans:
TOTALLY RIGHT(true),COMPLETELY WRONG(false)
Example Programs
Hello World
YOU WON'T WANT TO MISS 'Hello, World!'
PLEASE LIKE AND SUBSCRIBE
Factorial
DISCOVER HOW TO FACTORIAL WITH N
RUMOR HAS IT
WHAT IF N IS ACTUALLY 0
SHOCKING DEVELOPMENT 1
LIES!
SHOCKING DEVELOPMENT
N TIMES FACTORIAL OF N MINUS 1
END OF STORY
EXPERTS CLAIM RESULT TO BE FACTORIAL OF 10
YOU WON'T WANT TO MISS 'Result is'
YOU WON'T WANT TO MISS RESULT
PLEASE LIKE AND SUBSCRIBE
Fibonacci
DISCOVER HOW TO FIBONACCI WITH A, B, N
RUMOR HAS IT
WHAT IF N SMALLER THAN 1
SHOCKING DEVELOPMENT B
LIES! RUMOR HAS IT
YOU WON'T WANT TO MISS B
SHOCKING DEVELOPMENT
FIBONACCI OF B, A PLUS B, N MINUS 1
END OF STORY
END OF STORY
EXPERTS CLAIM LIMIT TO BE 10
YOU WON'T WANT TO MISS 'First 10 Fibonacci numbers'
EXPERTS CLAIM NOTHING TO BE FIBONACCI OF 0, 1, LIMIT
PLEASE LIKE AND SUBSCRIBE
Development
# Install dependencies
npm install
# Build the parser
npm run prepare
# Run tests
npm test
License
MIT
