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.
29 lines
562 B
Lua
29 lines
562 B
Lua
local M = {}
|
|
|
|
---@param path string
|
|
---@return string
|
|
M.parent = function(path)
|
|
if path == '/' then
|
|
return '/'
|
|
elseif path == '' then
|
|
return ''
|
|
elseif vim.endswith(path, '/') then
|
|
return path:match('^(.*/)[^/]*/$') or ''
|
|
else
|
|
return path:match('^(.*/)[^/]*$') or ''
|
|
end
|
|
end
|
|
|
|
---@param path string
|
|
---@return nil|string
|
|
M.basename = function(path)
|
|
if path == '/' or path == '' then
|
|
return
|
|
elseif vim.endswith(path, '/') then
|
|
return path:match('^.*/([^/]*)/$')
|
|
else
|
|
return path:match('^.*/([^/]*)$')
|
|
end
|
|
end
|
|
|
|
return M
|