Repository navigation
Add Emoji & Symbols, a grid emoji picker - #73
Open
nchudleigh wants to merge 1 commit into
Open
nchudleigh wants to merge 1 commit into
nchudleigh wants to merge 1 commit into
Conversation
An 8-column grid with Pinned, Recently Used and the Unicode categories. Enter pastes, Ctrl+Enter copies, skin tone is set from the action panel. Search runs on flea's engine through a second omacast-search helper. The list is built from Unicode 17 emoji-test.txt by bin/build-emoji, with keywords from Omarchy's emoji plugin. The omacast:emoji global shortcut opens it directly. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Emoji & Symbols (
builtin:emoji-picker), modelled on Raycast's emoji picker.What it does
omacast-searchhelper over the emoji list. Without the helper it falls back toEmoji.matchScore, where whole words beat prefixes.omacast:emojiglobal shortcut opens it directly, e.g.o.bind("SUPER + CTRL + SPACE", "omacast emoji picker", hl.dsp.global("omacast:emoji")).setup hyprlanddoesn't bind it.emojiPicker.search|get|pin|unpin|uprank|resetRanking|getSkinTone|setSkinTone.Data
data/emoji.json: 1914 emoji built from Unicode 17emoji-test.txtbybin/build-emoji.shell/plugins/emojis/emojis.json, so none are copied into this repo.db/emoji.json(0600, with a migration incore/Schema.js).Speed: it opens in about 70 ms. Hiding the window drops its color-emoji glyph cache, so every open decodes the glyphs again. The grid sets the ListView's
cacheBufferto 0 so it decodes only the lines on screen; with the default it took 160–190 ms.Not done: Unicode symbols, custom keywords, moving pins up and down, and a category dropdown.
Tests:
tests/emoji.test.js(6 tests: parsing, ranking, sections, skin tone, grid packing, flea ordering).node --test tests/*.test.js: 144 pass, 3 skipped.omarchy plugin validate .passes.The Herdr/terminal paste fix that ↵ needs is in #72.
🤖 Generated with Claude Code