Yorùbá Code Snippets
Yorùbá-vocabulary shortcuts for Python, HTML, and CSS. Type a Yorùbá word
- with or without tone marks, both work - and get the matching code
snippet. Standard English keywords and snippets keep working exactly as
before; nothing is shadowed or removed.
tejade<TAB> -> print($1)
tẹ̀jáde<TAB> -> print($1) (same snippet, toned spelling)
tej<TAB> -> print($1) (short form)
bi<TAB> -> if $1:
ara<TAB> -> <body>...</body>
As you type, IntelliSense also offers the same completions - the suggestion
label shows the diacritic spelling by default, or the ascii spelling if
yorubaSuite.tonalMarks is set to false. Either way, typing tejade or
tẹ̀jáde surfaces the same suggestion.
How this works
Suggestions come from a small extension-host CompletionItemProvider
(src/extension.js). Three static JSON files under snippets/ are still
generated but are not contributed in package.json: contributing them made
every trigger show up twice.
Alongside that, src/extension.js registers a CompletionItemProvider per
language offering the same completions, but with the suggestion label
switched between ascii and diacritic spelling based on the
yorubaSuite.tonalMarks setting (default: on). This only changes what's
displayed and inserted - typing either spelling (or the short form, where
one exists) triggers the same completion no matter how the setting is set.
Toggling the setting takes effect on the next suggestion, no reload needed.
Both JSON data sources are generated, not hand-written. The real source
of truth is data/vocab-snippets.csv at the repo root. Run
npm run generate:snippets from the repo root after editing the vocabulary
table - this regenerates snippets/*.json (static snippets) and
snippets/completions-data.json (structured data the provider reads).
Vocabulary status
Every entry is tagged confirmed or draft in data/vocab-snippets.csv.
draft entries are scaffold suggestions pending review by a fluent/native
Yorùbá speaker - see CONTRIBUTING.md at the repo root before treating any
draft word as settled.
Try it locally
- Open this folder (
packages/yoruba-code-snippets) in VS Code.
- Press F5 to launch an Extension Development Host.
- Open a
.py, .html, or .css file and try one of the triggers above.