`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);
// 中略...
},
};
};
```