From a5a2ededfb338ff87ed4db157487b2144fbe7378 Mon Sep 17 00:00:00 2001 From: parisni Date: Sat, 7 Dec 2024 15:29:13 +0100 Subject: [PATCH] feat: support wrap config ongoing discussion there https://github.com/pwntester/octo.nvim/discussions/427 --- lua/octo/config.lua | 3 +++ lua/octo/reviews/file-entry.lua | 3 +++ lua/tests/octo/config_spec.lua | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/lua/octo/config.lua b/lua/octo/config.lua index a608f605d..ceb61c435 100644 --- a/lua/octo/config.lua +++ b/lua/octo/config.lua @@ -73,6 +73,7 @@ local M = {} ---@field left_bubble_delimiter string ---@field github_hostname string ---@field use_local_fs boolean +---@field wrap boolean ---@field enable_builtin boolean ---@field snippet_context_lines number ---@field gh_cmd string @@ -120,6 +121,7 @@ function M.get_default_values() left_bubble_delimiter = "", github_hostname = "", use_local_fs = false, + wrap = false, enable_builtin = false, snippet_context_lines = 4, gh_cmd = "gh", @@ -427,6 +429,7 @@ function M.validate_config() if validate_type(config, "base config", "table") then validate_type(config.use_local_fs, "use_local_fs", "boolean") + validate_type(config.wrap, "wrap", "boolean") validate_type(config.enable_builtin, "enable_builtin", "boolean") validate_type(config.snippet_context_lines, "snippet_context_lines", "number") validate_type(config.timeout, "timeout", "number") diff --git a/lua/octo/reviews/file-entry.lua b/lua/octo/reviews/file-entry.lua index e0dcf8f11..82f842dca 100644 --- a/lua/octo/reviews/file-entry.lua +++ b/lua/octo/reviews/file-entry.lua @@ -260,6 +260,7 @@ function FileEntry:load_buffers(left_winid, right_winid) if not split.bufid or not vim.api.nvim_buf_is_loaded(split.bufid) then local conf = config.values local use_local = conf.use_local_fs and split.pos == "right" and utils.in_pr_branch(self.pull_request) + local wrap = conf.wrap -- create buffer split.bufid = M._create_buffer { @@ -271,6 +272,7 @@ function FileEntry:load_buffers(left_winid, right_winid) lines = split.lines, repo = self.pull_request.repo, use_local = use_local, + wrap = wrap, } -- register new buffer @@ -464,6 +466,7 @@ function M._create_buffer(opts) path = opts.path, split = string.upper(opts.split), }) + vim.api.nvim_buf_set_option(bufnr, "wrap", opts.wrap) return bufnr end diff --git a/lua/tests/octo/config_spec.lua b/lua/tests/octo/config_spec.lua index bad224b01..ef56ee2d4 100644 --- a/lua/tests/octo/config_spec.lua +++ b/lua/tests/octo/config_spec.lua @@ -86,6 +86,11 @@ describe("Octo config", function() assert.True(vim.tbl_count(require("octo.config").validate_config()) ~= 0) end) + it("should return invalid when wrap isn't a boolean", function() + config.values.wrap = "not a boolean" + assert.True(vim.tbl_count(require("octo.config").validate_config()) ~= 0) + end) + it("should return invalid when enable_builtin isn't a boolean", function() config.values.enable_builtin = "not a boolean" assert.True(vim.tbl_count(require("octo.config").validate_config()) ~= 0)