Problem: the codebase still used the upstream \`oil\` naming everywhere — URL schemes, the \`:Oil\` command, highlight groups, user events, module paths, filetypes, buffer/window variables, LuaCATS type annotations, vimdoc help tags, syntax groups, and internal identifiers. Solution: mechanical rename of every reference. URL schemes now use \`canola://\` (plus \`canola-ssh://\`, \`canola-s3://\`, \`canola-sss://\`, \`canola-trash://\`, \`canola-test://\`). The \`:Canola\` command replaces \`:Oil\`. All highlight groups, user events, augroups, namespaces, filetypes, require paths, type annotations, help tags, and identifiers follow suit. The \`upstream\` remote to \`stevearc/oil.nvim\` has been removed and the \`vim.g.oil\` deprecation shim dropped.
37 lines
737 B
Lua
37 lines
737 B
Lua
---@class canola.Ringbuf
|
|
---@field private size integer
|
|
---@field private tail integer
|
|
---@field private buf string[]
|
|
local Ringbuf = {}
|
|
function Ringbuf.new(size)
|
|
local self = setmetatable({
|
|
size = size,
|
|
buf = {},
|
|
tail = 0,
|
|
}, { __index = Ringbuf })
|
|
return self
|
|
end
|
|
|
|
---@param val string
|
|
function Ringbuf:push(val)
|
|
self.tail = self.tail + 1
|
|
if self.tail > self.size then
|
|
self.tail = 1
|
|
end
|
|
self.buf[self.tail] = val
|
|
end
|
|
|
|
---@return string
|
|
function Ringbuf:as_str()
|
|
local postfix = ''
|
|
for i = 1, self.tail, 1 do
|
|
postfix = postfix .. self.buf[i]
|
|
end
|
|
local prefix = ''
|
|
for i = self.tail + 1, #self.buf, 1 do
|
|
prefix = prefix .. self.buf[i]
|
|
end
|
|
return prefix .. postfix
|
|
end
|
|
|
|
return Ringbuf
|