`lua/silhouette/init.lua` のように以下をつくる。 ```lua local M = {} function M.setup(opts) -- TODO: -- config.setup(opts) vim.api.nvim_create_user_command("Silhouette", function(command) vim.fn["denops#request"]("silhouette", "insertTasks", command.fargs) end, { nargs = "?" }) end return M ``` `fargs`はホワイトスペース区切りになるため、[[Exコマンド]]に対応していると思われる。 `denops/silhouette/main.ts` はこんな感じ。 ```ts export const main: Entrypoint = (denops) => { // 中略... denops.dispatcher = { async insertTasks(_date) { const dateStr = _date ?? DateTime.today().displayDate; assert(dateStr, is.String); const date = DateTime.of(dateStr); // 中略... }, }; }; ```