Open
Conversation
日本語モードで全角コロン「:」(設定で変更可)を押すと絵文字入力モードへ 遷移し、shortname で絵文字候補を検索して挿入できる機能を追加した。 - iamcal/emoji-data (1911件) を Core パッケージにバンドル - InputState に .emojiInput(String) ケースを追加 - Config に EmojiInputEnabled / EmojiInputTrigger を追加 - ConfigWindow「カスタマイズ」タブに絵文字入力セクションを追加 - 候補ウィンドウの幅計算で annotation 実幅を考慮 (副作用調整込み) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
以前は変換中に「:」を押すと composing が確定されて絵文字モードへ 遷移していたが、composing を保持したまま絵文字を合流させるよう変更。 - InputState に .emojiInputNested(String) を追加 - .composing / .previewing / .selecting から「:」で nested モードへ - nested モードでは markedText を「composing + :query」と連結表示 - 絵文字確定時は composing に絵文字を追加して .composing に戻る - 確定誤認を防ぐため nested の composing 部分は .unfocused (薄い下線) - 未使用になった .commitMarkedTextAndEnterEmojiInputMode を削除 - 共通ロジックは handleEmojiInputEvent ヘルパに集約 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- emoji.json を使用フィールド (unified/short_names/sort_order) のみに 絞り込み、サイズを 1.3MB → 136KB (89.6%削減) - EmojiDictionary.search と InputState の絵文字関連遷移に対する ユニットテストを追加 (計24件) - InputState.event() の emoji 関連デフォルト引数に、InputController 以外の経路から誤発動しないための設計意図をコメントで追記 - README に絵文字入力機能の説明と、iamcal/emoji-data (MIT License) のサードパーティデータ表記を追加 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- RawEmoji の snake_case プロパティ (short_names/sort_order) を CodingKeys 経由で camelCase にマッピング - handleEmojiInputEvent の cyclomatic_complexity 警告を既存の event と 同じパターンで lint 無効化コメントを追加 - 実装で自明に担保される冗長テスト 2 件を削除 - testEmojiDictionaryEntriesLoaded (他の search テストでロード担保済み) - testMultiCharTriggerDoesNotFireOnSingleKey (実装上不可な動作) - disabled 時に composing 中の「:」が通常入力として扱われる エッジケーステストを追加 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Summary
:(設定で変更可) を押すと、Slack/Discord 互換のショートネームで絵文字を検索・挿入できる絵文字入力モードを追加使い方
:を打つと:が markedText に表示されるsmileのように英字を入力するとインクリメンタルに絵文字候補が絞り込まれる:で確定実装ハイライト
InputStateに.emojiInput(String)と.emojiInputNested(String)を追加handleEmojiInputEventヘルパに集約Test plan
:→ 絵文字モード突入:smile→ 😄 候補が表示され Enter で確定:thumbsup→ Enter で「こんにちは👍」が composing のまま残る:queryが破棄され composing が復活する:が通常入力として扱われる;などに変更して動作する🤖 Generated with Claude Code