Keep an eye on those revision descriptions.

Compare changes

Choose any two refs to compare.

Changed files
+30 -6
lua
jj-log
+7 -1
README.md
··· 54 ```lua 55 { 56 'https://tangled.org/bpavuk.neocities.org/jj-log.nvim', 57 - opts = {}, 58 } 59 ``` 60
··· 54 ```lua 55 { 56 'https://tangled.org/bpavuk.neocities.org/jj-log.nvim', 57 + opts = { 58 + -- these are default options 59 + out_waiting = "...", 60 + out_no_jj_repo = "~no_jj_repo~", 61 + out_no_desc = "~no_desc~", 62 + max_desc_length = 47, -- including truncation dots, that's 50 63 + }, 64 } 65 ``` 66
+23 -5
lua/jj-log/init.lua
··· 1 local M = {} 2 3 M.update_jj_status = function(bufnr) 4 - vim.api.nvim_buf_set_var(bufnr, "jj_desc", "󰔟") 5 6 local current_file = vim.api.nvim_buf_get_name(bufnr) 7 if current_file == "" or current_file == nil then ··· 9 return 10 end 11 12 local jj_root = vim.fs.find( 13 ".jj", { 14 upward = true, ··· 19 )[1] 20 21 if not jj_root then 22 - vim.api.nvim_buf_set_var(bufnr, "jj_desc", "~no_jj_repo~") 23 return 24 end 25 ··· 37 local output = vim.trim(obj.stdout or "") 38 output = output:gsub("\n", ""):gsub("^%s*", ""):gsub("%s*$", "") 39 40 - if output == "" then output = "~no_desc~" end 41 - if #output > 50 then output = string.sub(output, 1, 47) .. "..." end 42 43 vim.schedule(function() 44 if vim.api.nvim_buf_is_valid(bufnr) then ··· 52 end) 53 end 54 55 - M.setup = function() 56 local group = vim.api.nvim_create_augroup("JJLogPlugin", { clear = true }) 57 58 vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter", "BufWritePost", "FocusGained" }, {
··· 1 local M = {} 2 3 + local defaults = { 4 + out_waiting = "...", 5 + out_no_jj_repo = "~no_jj_repo~", 6 + out_no_desc = "~no_desc~", 7 + max_desc_length = 47, 8 + } 9 + 10 + M.config = vim.deepcopy(defaults) 11 + 12 M.update_jj_status = function(bufnr) 13 + vim.api.nvim_buf_set_var(bufnr, "jj_desc", M.config.out_waiting) 14 15 local current_file = vim.api.nvim_buf_get_name(bufnr) 16 if current_file == "" or current_file == nil then ··· 18 return 19 end 20 21 + if not vim.fn.filereadable(current_file) then 22 + vim.api.nvim_buf_del_var(bufnr, "jj_desc") 23 + return 24 + end 25 + 26 local jj_root = vim.fs.find( 27 ".jj", { 28 upward = true, ··· 33 )[1] 34 35 if not jj_root then 36 + vim.api.nvim_buf_set_var(bufnr, "jj_desc", M.config.out_no_jj_repo) 37 return 38 end 39 ··· 51 local output = vim.trim(obj.stdout or "") 52 output = output:gsub("\n", ""):gsub("^%s*", ""):gsub("%s*$", "") 53 54 + if output == "" then output = M.config.out_no_desc end 55 + if #output > (M.config.max_desc_length + 3) then 56 + output = string.sub(output, 1, M.config.max_desc_length) .. "..." 57 + end 58 59 vim.schedule(function() 60 if vim.api.nvim_buf_is_valid(bufnr) then ··· 68 end) 69 end 70 71 + M.setup = function(opts) 72 + M.config = vim.tbl_deep_extend("force", M.config, opts or {}) 73 + 74 local group = vim.api.nvim_create_augroup("JJLogPlugin", { clear = true }) 75 76 vim.api.nvim_create_autocmd({ "BufEnter", "BufWinEnter", "BufWritePost", "FocusGained" }, {