diff options
author | Riccardo Mazzarini <riccardo.mazzarini@pm.me> | 2023-12-05 12:33:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-05 19:33:57 +0800 |
commit | 0b74ad0a641f28d9d3da5353e98372d87078bd9d (patch) | |
tree | 8f0352daaa9d66da3f6a90cc17c644d6f4926113 /src/nvim/api/extmark.c | |
parent | 32c8f951bb117bcff39460c3b4dd4f05112af6b3 (diff) | |
download | rneovim-0b74ad0a641f28d9d3da5353e98372d87078bd9d.tar.gz rneovim-0b74ad0a641f28d9d3da5353e98372d87078bd9d.tar.bz2 rneovim-0b74ad0a641f28d9d3da5353e98372d87078bd9d.zip |
refactor(api): complete conversion from `Dictionary` to `Dict(opts)` (#26365)
Diffstat (limited to 'src/nvim/api/extmark.c')
-rw-r--r-- | src/nvim/api/extmark.c | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/src/nvim/api/extmark.c b/src/nvim/api/extmark.c index 80b1546329..ec47d7227e 100644 --- a/src/nvim/api/extmark.c +++ b/src/nvim/api/extmark.c @@ -187,7 +187,7 @@ static Array extmark_to_array(MTPair extmark, bool id, bool add_dict, bool hl_na /// @return 0-indexed (row, col) tuple or empty list () if extmark id was /// absent ArrayOf(Integer) nvim_buf_get_extmark_by_id(Buffer buffer, Integer ns_id, - Integer id, Dictionary opts, + Integer id, Dict(get_extmark) *opts, Error *err) FUNC_API_SINCE(7) { @@ -203,27 +203,9 @@ ArrayOf(Integer) nvim_buf_get_extmark_by_id(Buffer buffer, Integer ns_id, return rv; }); - bool details = false; - bool hl_name = true; - for (size_t i = 0; i < opts.size; i++) { - String k = opts.items[i].key; - Object *v = &opts.items[i].value; - if (strequal("details", k.data)) { - details = api_object_to_bool(*v, "details", false, err); - if (ERROR_SET(err)) { - return rv; - } - } else if (strequal("hl_name", k.data)) { - hl_name = api_object_to_bool(*v, "hl_name", false, err); - if (ERROR_SET(err)) { - return rv; - } - } else { - VALIDATE_S(false, "'opts' key", k.data, { - return rv; - }); - } - } + bool details = opts->details; + + bool hl_name = GET_BOOL_OR_TRUE(opts, get_extmark, hl_name); MTPair extmark = extmark_from_id(buf, (uint32_t)ns_id, (uint32_t)id); if (extmark.start.pos.row < 0) { |