Monaco Editorの補完(SnippetsCompleter)において、現在はすべての補完候補の kind が monaco.languages.CompletionItemKind.Snippet に固定されています。これにより、エディタのGUI上ですべて同じアイコンが表示されています。
これを、補完候補のタイプ(メソッド、変数、スニペットなど)に応じて適切な kind を設定するように変更することで、ユーザーが補完候補を判別しやすくします。
修正案
BaseCompleter.toCompletionItem において、item.type または item.kind に基づいて monaco.languages.CompletionItemKind を切り替えるようにする。
SnippetsCompleter で各スニペットファイルを読み込む際、JSONに定義された type を尊重するようにする。
- 各
*-snippets.json ファイルにおいて、必要に応じて type (e.g., 'method', 'variable', 'snippet') を追加する。
関連ファイル
gui/smalruby3-gui/src/containers/ruby-tab/base-completer.js
gui/smalruby3-gui/src/containers/ruby-tab/snippets-completer.js
gui/smalruby3-gui/src/containers/ruby-tab/*-snippets.json
Monaco Editorの補完(SnippetsCompleter)において、現在はすべての補完候補の
kindがmonaco.languages.CompletionItemKind.Snippetに固定されています。これにより、エディタのGUI上ですべて同じアイコンが表示されています。これを、補完候補のタイプ(メソッド、変数、スニペットなど)に応じて適切な
kindを設定するように変更することで、ユーザーが補完候補を判別しやすくします。修正案
BaseCompleter.toCompletionItemにおいて、item.typeまたはitem.kindに基づいてmonaco.languages.CompletionItemKindを切り替えるようにする。SnippetsCompleterで各スニペットファイルを読み込む際、JSONに定義されたtypeを尊重するようにする。*-snippets.jsonファイルにおいて、必要に応じてtype(e.g., 'method', 'variable', 'snippet') を追加する。関連ファイル
gui/smalruby3-gui/src/containers/ruby-tab/base-completer.jsgui/smalruby3-gui/src/containers/ruby-tab/snippets-completer.jsgui/smalruby3-gui/src/containers/ruby-tab/*-snippets.json